0

问题是只存储了密码,但其余的没有...... 这是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,email为varchar,bday为date,gender为char,password为char *

4

2 回答 2

0

首先,您的 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)orprint_r($_POST)来检查来自 HTML 的 POST 输入是否到达 PHP。作为替代方案,您可以检查 的输出var_dump($_REQUEST),该数组将包含 GET 和 POST 变量。

仔细检查在您发布的代码之前是否执行了其他 PHP 代码(重定向、操作 $_POST 变量等)。还要检查是否有使用您使用的变量名称设置的 cookie、$_SERVER 或 ENV 变量。

在正常情况下,您的示例代码应该可以工作。

于 2013-10-18T14:57:49.480 回答
-1

Please check character limit of field in table or field name in table. I think there is the problem.

于 2013-10-18T13:54:11.633 回答