Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Базы Данных > Добавление в базу


Автор: FightInGlory 26.11.2009, 16:10
Есть два файла index.php и view.php.

index
Код

<form action="view.php" method="post">
   <h3>Введите свои данные:</h3><br />
   Имя:<br />
   <input name="name" type="text" size="30"/><br />
   Фамилия:<br />
   <input name="surname" type="text" size="30"/><br />
   Телефон:<br />
   <input name="phone" type="text" size="30"/><br />
   Адрес:<br />
   <input name="address" type="text" size="30"/><br />
   Номер паспорта:<br />
   <input name="pasport" type="text" size="30"/><br />
   Дата въезда:<br />
   <input name="entryDate" type="text" size="30"/><br />
   Дата выезда:<br />
   <input name="exitDate" type="text" size="30"/><br />
   Номер:<br />
   <input name="number" type="text" size="30"/><br /><br />
   <input name="go" type="submit" value="Отправить" />
   <input name="done" type="reset" value="Очистить" />
</form>


view
Код

<?
$bd = mysql_connect("localhost","php","12345");
mysql_select_db("kurs",$bd);

if (isset($_POST['name'])) {$name=$_POST['name'];}
if (isset($_POST['surname'])) {$surname=$_POST['surname'];}
if (isset($_POST['pasport'])) {$pasport=$_POST['pasport'];}
if (isset($_POST['phone'])) {$phone=$_POST['phone'];}
if (isset($_POST['address'])) {$address=$_POST['address'];}
if (isset($_POST['entryDate'])) {$entryDate=$_POST['entryDate'];}
if (isset($_POST['exitDate'])) {$exitDate=$_POST['exitDate'];}
if (isset($_POST['number'])) {$number=$_POST['number'];}

if (isset($name) && isset($surname) && isset($phone) && isset($pasport) && isset($address) && isset($entryDate) && isset($exitDate) && isset($number))
{
$sql = "insert into kleint (name,surname,pasport,phone,address,entryDate,exitDate,number) values ('$name','$surname','$pasport','$phone','$address','$entryDate','$exitDate','$number')";
$result = mysql_query($sql);
echo "$name<br>";
echo "$surname<br>";
echo "$pasport<br>";
echo "$phone<br>";
echo "$address<br>";
echo "$entryDate<br>";
echo "$exitDate<br>";
echo "$number<br>";
if ($result == 'true') {echo "<p>Данные добавлены!</p>";}
else {echo "<p>Данные не добавлены!</p>";}
}
else {echo "<p>Вы не заполнели все поля!</p>";}
?>


Оператор echo выводит данные, но в базу не записываются. Кто подскажет где я туплю?)

Автор: lelik133 26.11.2009, 17:44
отлаживайте запрос, после mysql_query
Код

echo $sql;
echo mysql_error();

Автор: lelik133 27.11.2009, 10:40
вы будите рассуждать полезен или не полезен ваш курс или отлаживать скрипт что бы он работал?
если это Евгений Попов, то в топку однозначно

Автор: FightInGlory 27.11.2009, 10:42
2 lelik133, большое спасибо, опять ошибка из-за невнимательности.

Автор: Ипатьев 27.11.2009, 11:36
Заработало? Ничего, это ненадолго. Скоро опять перестанет.

Автор: FightInGlory 2.12.2009, 00:41
Снова проблема, подскажите, вот строка  if ($results == 'true') не отрабатывает, всегда все переходит к else. 
Код

if (isset($name) && isset($surname) && isset($phone) && isset($pasport) && isset($address) && isset($entryDate) && isset($exitDate) && isset($number))
{

   $sql = "insert into klient (name,surname,pasport,phone,address,entryDate,exitDate,number) values ('$name','$surname','$pasport','$phone','$address','$entryDate','$exitDate','$number')";
   $result = mysql_query($sql);
   $sqll = "select number from nomera where status = 1 and number='$number'";
   $results = mysql_query($sqll);
      if ($results == 'true')
      {
         if ($result == 'true') 
         {
            mysql_query("update nomera set status = 2 where number='$number'");
            echo "<p>Данные добавлены!</p><form action='index.php'><button>Назад</button></form>";
         }
         else {echo "<p>Данные не добавлены!</p><form action='index.php'><button>Назад</button></form>";}
      }
      else {echo "<p>Этот номер занят!</p><form action='index.php'><button>Назад</button></form>";}    
}
else {echo "<p>Вы не заполнили все поля!</p><form action='index.php'><button>Назад</button></form>";}

Автор: BobiKK 2.12.2009, 00:57
Потому что 'true' - это строка, а не булевое значение. $results никогда не будет равен строке 'true'. А вот просто true - другое дело

Автор: MoLeX 2.12.2009, 06:44

M
MoLeX
Модератор: Пожалуйста, один топик - один вопрос.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)