问题只是存储了密码,但其余的没有... 这是 PHP 代码
<?php
define('DB_NAME','my_db');
define('DB_USER','root');
define('DB_PASSWORD','123');
define('DB_HOST','localhost');
$link = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);
$firstname = isset($_POST['fname']) ? $_POST['fname'] : '';
$lastname =isset($_POST['lname']) ? $_POST['lname'] : '';
$email = isset($_POST['email']) ? $_POST['email'] : '';
$bday = isset($_POST['bday']) ? $_POST['bday'] : '';
$gender = isset($_POST['gender']) ? $_POST['gender'] : '';
$pass = isset($_POST['password']) ? $_POST['password'] : '';
$submit = isset($_POST['submit']) ? $_POST['submit'] : null;
$sql = "INSERT INTO user(fname,lname,email,bday,gender,password)
VALUES ('$firstname','$lastname','$email','$bday','$gender','$pass')";
if(!mysql_query($sql)){
die('Error: ' . mysql_error());
}
mysql_close();
?>
这是 HTML 代码
<form action="connect.php" method="post">
First name: <input type="password" name="fname">
Last name: <input type="text" name="lname"><br><br>
Email Address: <input type="email" name="email"><br><br>
Birthday: <input type="date" name="bday">
Sex: <input list="Sex" name="gender">
Password: <input type="password" name="password"><br><br>
<datalist id="Sex">
<option value="Male">
<option value="Female">
</datalist><br><br>
<input type="submit" value="Sign up!" id="btnsignup" />
</form>
*表中的数据类型为:FNAME 是 Varchar,lname 是 Varchar,电子邮件是 Varchar,bday 是日期,性别是 Char,密码是 char *
首先,您的HTML只能与最新的浏览器一起使用。试试这个来支持较旧的浏览器(也许你也有一个,这就是问题所在):
<form action="connect.php" method="post">
First name: <input type="text" name="fname">
Last name: <input type="text" name="lname"><br><br>
Email Address: <input type="text" name="email"><br><br>
Birthday: <input type="text" name="bday" placeholder="YYYY-MM-DD">
Sex: <select name="gender">
<option value="Male">Male</option>
<option value="Female">Female</option>
</select>
Password: <input type="password" name="password"><br><br>
<input type="submit" value="Sign up!" id="btnsignup" />
</form>
您可以在 PHP 脚本中所有其他代码之前的第一行中使用var_dump($_POST)
或print_r($_POST)
来检查来自 HTML 的 POST 输入是否到达 PHP。作为替代方案,您可以检查var_dump($_REQUEST)
的输出,此数组将包含GET和POST变量。
仔细检查在您发布的代码之前是否执行了其他 PHP 代码(重定向、操作 $_POST 变量等)。还要检查是否有 cookie、$_SERVER 或 ENV 变量设置了您使用的变量名称。
在正常情况下,您的示例代码应该可以工作。
请检查表中字段的字符限制或表中的字段名称。我认为有问题。