我正在用 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' 行仅用于调试目的)。问题是它总是会检测到一个空字段,即使我填写了所有字段,就好像脚本在从表单读取数据时遇到问题一样。我希望我的解释清楚,非常欢迎每一个建议!
编辑:其他人指出你忘记empty()
了$pwd
。这也可能是问题所在。
您是否尝试打印出$first
您的其他变量是什么?我怀疑它mysqli_real_escape_string
正在返回null
,这就是为什么你的 if 语句说它们是空的。
我还会检查您的每个输入$_POST['form_item']
在哪里'form_item'
,只是为了查看它们是否被正确发送。
但就像我说的,我怀疑它是真正的转义字符串函数返回null
. 如果发生这种情况,请查看文档。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句