0

将 PHP 5 表单插入 MySQL 数据库的最佳方法是什么?

<form  action="script.php" method="post">
 <fieldset>
  <input id="name" type="text" placeholder="name" />
  <input type="submit" value="Opslaan" />           
 </fieldset>
</form>​    

我还让你使用所有这些吗?

$name= $_POST['name'];  
$name = stripslashes($name);  
$name = mysql_real_escape_string($name);

mysql_connect($host,$username,$password);
@mysql_select_db($database) or die( "Unable to select database");
$query = "INSERT INTO names VALUES ('','$name')";
mysql_query($query);
mysql_close();

因为当我这样做时,脚本只输入 ID,名称字段保持为空..

编辑:如何在 PHP 5 中使用 PDO 或 mysqli(按最新标准)?

4

2 回答 2

2

您需要您的姓名输入才能具有 name 属性 =“name” 即。

<input type="text" id="name" name="name" placeholder="Enter your name" />

完全解决您的答案。

  • mysql_* 库在最新的 PHP 中已弃用,不应使用。请改用 PDO 或 MySQLi。感谢 Prix 指出这一点。
  • 您需要清理用户提供的数据。这个问题之前已经被问过,这里有一个很好的答案:What's the best method for sanitizing user input with PHP?
  • 您的 _POST 参数没有对您的姓名输入做任何事情的原因是由于上面提到的事实。
于 2013-08-30T22:30:55.470 回答
0

占位符属性允许在 html 5 中将默认值放入表单的元素中。当元素具有焦点时,此默认值将被删除。但是在您的情况下,您忘记了属性名称。尝试这个:

<form  action="script.php" method="post">
 <fieldset>
  <input id="name" name="name" type="text" placeholder="Enter your name" />
  <input type="submit" value="Opslaan" />           
 </fieldset>
</form>​
于 2013-08-30T22:43:36.993 回答