Это мой код.PHP-форма не отправляет данные в MySQL при вводе
Я хочу, чтобы форма была отправлена для отправки данных в таблицу с именем «контакты» в базе данных MySQL, которую я создал.
В таблице четыре поля; Название, имя, адрес электронной почты, запрос.
Это код, который я скопировал и отредактировал в соответствии с моим сайтом. Я новичок в .PHP!
<?php
if(isset($_POST['add'])) {
$dbhost = 'localhost';
$dbuser = 'root';
$dbpass = '';
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if(! $conn) {
die('Could not connect: ' . mysql_error());
}
if(! get_magic_quotes_gpc()) {
$p_title = addslashes ($_POST['p_title']);
$p_name = addslashes ($_POST['p_name']);
$p_email = addslashes ($_POST['p_email']);
}else {
$p_name = $_POST['p_name'];
$p_email = $_POST['p_email'];
}
$p_enquiry = $_POST['p_enquiry'];
$sql = "INSERT INTO contacts ". "(p_name,p_email, p_enquiry, p_title
join_date) ". "VALUES('$p_name','$p_email',$p_enquiry,$p_title NOW())";
mysql_select_db('test_db');
$retval = mysql_query($sql, $conn);
if(! $retval) {
die('Could not enter data: ' . mysql_error());
}
echo "Entered data successfully\n";
mysql_close($conn);
}else {
?>
<form method = "post" action = "<?php $_PHP_SELF ?>">
<table width = "400" border = "0" cellspacing = "1"
cellpadding = "2">
<tr>
<td width = "100"><p>Title:</p></td>
<td><input name = "p_title" type = "text"
id = "p_title"></td>
</tr>
<tr>
<td width = "100"><p>Name:</p></td>
<td><input name = "p_name" type = "text"
id = "p_name"></td>
</tr>
<tr>
<td width = "100"><p>Email:</p></td>
<td><input name = "p_email" type = "text"
id = "p_email"></td>
</tr>
<tr>
<td width = "100"><p>Enquiry:</p></td>
<td><input name = "p_enquiry" type = "text"
id = "p_enquiry"></td>
</tr>
<tr>
<td width = "100"> </td>
<td> </td>
</tr>
<tr>
<td width = "100"> </td>
<td>
<input name = "add" type = "submit" id = "add"
value = "Add Employee">
</td>
</tr>
</table>
</form>
<?php
}
?>
НЕ использовать 'mysql_ *' он был удален, и он больше не будет работать, используйте 'PDO' [ссылка] (http://php.net/manual/en/book.pdo.php) или' mysqli '[link] (http://php.net/manual/en/book.mysqli.php). – Tom
[Little Bobby] (http://bobby-tables.com/) говорит, что [ваш сценарий подвержен риску инъекций SQL.] (Http://stackoverflow.com/questions/60174/how-can-i-prevent -SQL-инъекция-в-РНР). Даже [избегая строки] (http://stackoverflow.com/questions/5741187/sql-injection-that-gets-around-mysql-real-escape-string) небезопасно! –
Пожалуйста, [прекратите использование 'mysql_ *' функций] (http://stackoverflow.com/questions/12859942/why-shouldnt-i-use-mysql-functions-in-php). [Эти расширения] (http://php.net/manual/en/migration70.removed-exts-sapis.php) были удалены в PHP 7. Узнайте о [подготовленном] (http://en.wikipedia.org/ wiki/Prepared_statement) для [PDO] (http://php.net/manual/en/pdo.prepared-statements.php) и [MySQLi] (http://php.net/manual/en/mysqli.quickstart .prepared-statements.php) и подумайте над использованием PDO, [это действительно довольно легко] (http://jayblanchard.net/demystifying_php_pdo.html). –