Я новичок в кодировании, поэтому я не уверен, почему я не получаю данные для хранения в mySQL после отправки формы. Я начал с генератора кода, но он просто не работает. Спасибо за любую помощь. Вот мой код:Данные из формы PHP не отправляются на mySQL
Форма:
<html>
<body>
<form id="FormName" action="added.php" method="post" name="FormName">
<table width="448" border="0" cellspacing="2" cellpadding="0">
<tr><td width = "150"><div align="right"><label for="name">Name of Farm </label></div></td>
<td><input id="name" name="name" type="text" size="25" value="" maxlength="255"></td></tr><tr><td width = "150"><div align="right"><label for="owners">Name of Owners</label></div></td>
<td><input id="owners" name="owners" type="text" size="25" value="" maxlength="255"></td></tr><tr><td width = "150"><div align="right"><label for="location">Location (city,state)</label></div></td>
<td><input id="location" name="location" type="text" size="25" value="" maxlength="255"></td></tr><tr><td width = "150"><div align="right"><label for="phone">Phone</label></div></td>
<td><input id="phone" name="phone" type="text" size="25" value="" maxlength="10"></td></tr><tr><td width = "150"><div align="right"><label for="email">Email</label></div></td>
<td><input id="email" name="email" type="text" size="25" value="" maxlength="255"></td></tr><tr><td width = "150"><div align="right"><label for="website">Website</label></div></td>
<td><input id="website" name="website" type="text" size="25" value="" maxlength="255"></td></tr><tr><td width = "150"><div align="right"><label for="description">Description</label></div></td>
<td><textarea id="description" name="description" rows="4" cols="40"></textarea></td></tr><tr><td width = "150"><div align="right"><label for="dateadded">Today's Date</label></div></td>
<td><input id="dateadded" name="dateadded" type="text" size="25" value="" maxlength="255"></td></tr><tr><td width = "150"><div align="right"><label for="logo">Logo</label></div></td>
<td><input id="logo" name="logo" type="text" size="25" value="" maxlength="255"></td></tr><tr><td width = "150"><div align="right"><label for="state">State</label></div></td>
<td><input id="state" name="state" type="text" size="25" value="" maxlength="2"></td></tr><tr><td width="150"></td><td>
<input type="submit" name="submitButtonName" value="Add"></td>
</tr></table></form>
</body>
</html>
PHP is in 2 files - one with db connection instructions and the other to post the data in the mySQL.
**Code to Connect to mySQL:**
<?php
$hostname='localhost'; //// specify host, i.e. 'localhost'
$user='llamabre_visitor'; //// specify username
$pass='llama'; //// specify password
$dbase='llamabre_farms1'; //// specify database name
$connection = mysql_connect("$hostname" , "$user" , "$pass")
or die ("Can't connect to MySQL");
$db = mysql_select_db($dbase , $connection) or die ("Can't select database.");
?>
<a href="index.php">Back to List</a>
**Code for posting to mySQL:**
<?php
include("connect.php");
$name = trim($_POST['name']);
$owners = trim($_POST['owners']);
$location = trim($_POST['location']);
$phone = trim($_POST['phone']);
$email = trim($_POST['email']);
$website = trim($_POST['website']);
$description = trim($_POST['description']);
$dateadded = trim($_POST['dateadded']);
$logo = trim($_POST['logo']);
$state = trim($_POST['state']);
$query = "INSERT INTO farmsdir (id, name, owners, location, phone, email, website, description, dateadded, logo, state)
VALUES ('', '$name', '$owners', '$location', '$phone', '$email', '$website', '$description', '$dateadded', '$logo', '$state')";
$results = mysql_query($query);
if ($results)
{
echo "Details added.";
}
mysql_close();
?>
Ужасный HTML, открытый широко для SQL-инъекций, используя устаревшую функцию 'mysql_ *', не проверял состояние соединения. Лучше исправить это в первую очередь. Попробуйте использовать MySQLi/PDO. – Raptor
Пожалуйста, не используйте 'mysql_select_db'. Вы оставляете себя открытым для SQL-инъекции. Вместо этого используйте PDO. Взгляните на эти руководства по неттокам, чтобы начать работу: [здесь] (http://code.tutsplus.com/tutorials/why-you-should-be-using-phps-pdo-for-database-access--net -12059) и [здесь] (http://code.tutsplus.com/tutorials/php-database-access-are-you-doing-it-correctly--net-25338). Это на самом деле меньше кода в конце и создает более чистый код. – br3nt
«$ var» может быть просто $ var без кавычек в вашем вызове mysql_connect(). –