【发布时间】:2019-08-02 12:15:28
【问题描述】:
我的 php 代码有问题,当我输入密码时,它似乎返回“密码不应为空”。我认为它可能来自我的 html 代码,因为我让他们输入了两次。我需要在我的数据库中创建另一个变量来确认密码吗?
<?php
$firstname = filter_input(INPUT_POST, 'firstname');
$lastname = filter_input(INPUT_POST, 'lastname');
$email = filter_input(INPUT_POST, 'email');
$password = filter_input(INPUT_POST, 'password');
if (!empty($firstname)) {
if (!empty($lastname)) {
if (!empty($email)) {
if (!empty($password)) {
$host = "127.0.0.1:3307";
$dbusername = "root";
$dbpassword = "";
$dbname = "register";
// Create connection
$conn = new mysqli($host, $dbfirstname, $dblastname, $dbemail,
$dbpassword);
if (mysqli_connect_error()) {
die('Connect Error (' . mysqli_connect_errno() . ') '
. mysqli_connect_error());
} else {
$sql = "INSERT INTO Signup (firstname, lastname, email, password) values ('$firstname','$lastname','email','password')";
if ($conn->query($sql)) {
echo "New record is inserted sucessfully";
} else {
echo "Error: " . $sql . "" . $conn->error;
}
$conn->close();
}
} else {
echo "Password should not be empty";
die();
}
}
}
} else {
echo "Username should not be empty";
die();
}
【问题讨论】:
-
在最顶部做一个
var_dump($_POST);exit;,看看你得到了什么数据。密码在吗? -
欢迎来到 SO。请花时间edit您的帖子并正确缩进代码。这将使帮助您调试问题变得更加容易。
-
显示你的 html 也许你输入了错误的名字
-
for
echo "Password should not be empty";in code = thisif (!empty($lastname)) -
如果您两次询问密码,可能您有两个具有相同名称的输入,这可能就是问题所在。请给我们看html代码