我正在用php创建一个简单的注册表单程序,它基本上从表单读取输入并将它们发送到数据库。我在读取数据表中的数据时遇到一些问题:
这是css部分的表单:
<form class="signup-form" action="include/signup.inc.php" method="POST">
<input type="text" name="first" placeholder="Firstname">
<input type="text" name="last" placeholder="Lastname">
<input type="text" name="email" placeholder="E-Mail">
<input type="text" name="uid" placeholder="Username">
<input type="password" name="pwd" placeholder="Password">
<button type="submit" name="submit">Sign Up</button>
</form>
这是从我的数据库发送所有信息的部分:
<?php
if (isset($_POST['submit'])) {
include_once 'dbh.inc.php';
$first = mysqli_real_escape_string($conn, $_POST['first']);
$last = mysqli_real_escape_string($conn, $_POST['last']);
$email = mysqli_real_escape_string($conn, $_POST['email']);
$uid = mysqli_real_escape_string($conn, $_POST['uid']);
$pwd = mysqli_real_escape_string($conn, $_POST['pwd']);
//Error handlers
//Check for empty fields
if (empty($first) || empty($last) || empty($email) || empty($uid) || ($pwd)) {
//header("Location: ../signup.php?signup=empty");
echo "empty";
exit();
} else {
//Other conditions...
基本上,第一个条件应该检查用户是否试图输入空字段。如果字段为空,只需将页面重定向到 ../signup.php?signup=empty
(“echo empty”行仅用于调试目的)。问题是它总是会检测到一个空字段,即使我填充了所有字段,就好像脚本在从表单读取数据时遇到了问题一样。我希望我的解释清楚,每一个建议都非常欢迎!
1条答案
按热度按时间des4xlb01#
编辑:有人指出你忘了
empty()
周围$pwd
. 这也可能是问题所在。你试过打印出什么吗
$first
或者你的其他变量是?我怀疑mysqli_real_escape_string
他回来了null
这就是为什么你的if语句说它们是空的。我也会查一下
$_POST['form_item']
,在哪里'form_item'
是你的每一个输入,只是看看它们是否被正确发送。但就像我说的,我怀疑返回的是真正的转义字符串函数
null
. 如果是这样的话,请查看文档。