2013-08-31 2 views
1

Мне просто нужно вставить данные моей формы в базу данных mysql & отобразить ее в браузере. Но, когда я заполняю форму &, нажмите «Отправить», строка добавляется, но без данных, кроме поля идентификатора, которое автоинкрементно. Даже таблица в phpmyadmin выглядит так же, как и в добавленной строке & пустых полей. любые предложения будут высоко оценены ...Входные значения не отображаются в браузере, а показывает пустое поле

мой HTML форма выглядит так,

<table border="1"> 
    <tr> 
    <td align="center">Form Input Students Data</td> 
    </tr> 
    <tr> 
    <td> 
     <table> 
     <form method="POST" action="data_insert_htmlform.php/"> 
     <tr> 
      <td><label for="Name">Name</label></td> 
      <td><input type="text" name="name" size="20"> 
      </td> 
     </tr> 
     <tr> 
      <td><label for="Age">Age</label></td> 
      <td><input type="text" name="age" size="20"> 
      </td> 
     </tr> 
     <tr> 
      <td><label for="Birth_Date">Birth_Date</label></td> 
      <td><input type="text" name="Birth_Date" size="20"> 
      </td> 
     </tr> 
     <tr> 
      <td><label for="Address"Address</label></td> 
      <td><input type="text" name="address" size="40"> 
      </td> 
     </tr> 
     <tr> 
      <td></td> 
      <td align="center"> 
       <input type="submit" name="submit" value="Sent"> 
      </td> 
     </tr> 
     </form> 
     </table> 
     </td> 
    </tr> 
</table> 

и мой PHP код,

<?php 

error_reporting(E_ERROR | E_PARSE); 

$database = 'students'; 
$continued=mysql_connect("localhost" , "root", ""); 

if(mysql_select_db($database)) 
echo ("<br><br>connection to the database succeeds"); 
else 
echo ("connection failed"); 

/*$name = $_POST['name']; 
$age = $_POST['age']; 
$birth_date = $_POST['Birth_date']; 
$address = $_POST['address'];*/ 

$insert = "INSERT INTO students_basicinfo(Name, Age, Birth_Date, Address) VALUES ('{$_POST['name']}','{$_POST['age']}' , '{$_POST['Birth_date']}' , '{$_POST['address']}')"; 

$abc = mysql_query($insert); 
if($abc){ 
    echo("<br>Input data is succeed"); 
}else{ 
    echo("<br>Input data is fail"); 
} 

$order = "SELECT * FROM students_basicinfo"; 
$result = mysql_query($order); 

if($result === FALSE) { 
die(mysql_error()); // TODO: better error handling 
} 

echo "<table border='1'>"; 

    while($data = mysql_fetch_array($result)) 
    { 
     echo "<tr>"; 
       echo "<td>".$data[ID]."</td>"; 
       echo "<td>".$data[Name]."</td>"; 
       echo "<td>".$data[Age]."</td>"; 
       echo "<td>".$data[Birth_Date]."</td>"; 
       echo "<td>".$data[Address]."</td>"; 
     echo "</tr>"; 
    } 

echo "</table>"; 

?> 
+0

удалить/from data_insert_htmlform.php/ – Mihai

+0

** Предупреждение: ** Функция 'mysql_' устарела от PHP 5.5.0 и будет удалена в будущем. Вместо этого [MySQLi] (http://www.php.net/manual/en/book.mysqli.php) или [PDO_MySQL] (http://www.php.net/manual/en/ref.pdo- mysql.php). – bansi

+0

Вы проверили правописание имен полей и переменных $ _POST. они чувствительны к регистру. – bansi

ответ

0

Заменить

'{$_POST['name']}','{$_POST['age']}' , '{$_POST['Birth_date']}' , '{$_POST['address']}' 

с

'".$_POST['name']."','".$_POST['age']."' , '".$_POST['Birth_date']."' , '".$_POST['address']."' 
+0

Я даже сделал это раньше, но бесполезно. –

+0

Вы получаете сообщение «Входные данные успешно» в браузере.? –

+0

да Я ввод данных успешно сообщение –

0

Try:

echo "<tr>"; 
       echo "<td>".$data['ID']."</td>"; 
       echo "<td>".$data['Name']."</td>"; 
       echo "<td>".$data['Age']."</td>"; 
       echo "<td>".$data['Birth_Date']."</td>"; 
       echo "<td>".$data['Address']."</td>"; 
     echo "</tr>"; 
+0

ну, я думаю, проблема заключается в добавлении записи в базу данных. –

1

Этот вопрос о input name case sensitive

Изменение $_POST['Birth_date'] в $_POST['Birth_Date'] с прописными буквами D

Попробуйте следующий запрос, это будет работать.

$insert = "INSERT INTO students_basicinfo(Name, Age, Birth_Date, Address) VALUES ('{$_POST['name']}','{$_POST['age']}' , '{$_POST['Birth_Date']}' , '{$_POST['address']}')"; 
+0

не работает brotrher –

+0

Не могли бы вы показать свою структуру БД ? или Ваши имена столбцов и значения 'insert' одинаковы? Например: Имя столбца' Имя' или 'имя'? – Bora

0

(Использование подготовленных операторов.)

  • Свалка заявление, в HTML комментарий <!-- ... ---> так что вы можете попробовать сами.
  • Используйте echo mysql_error(), чтобы проверить наличие ошибок.
  • Не доверяю дате поля, DATE? Использовать '2013-08-31 or '2013-08-31 14_:07 /' 2013-08-31T14_: 07`.
Смежные вопросы