【发布时间】:2014-09-23 04:23:02
【问题描述】:
在开发注册页面时,我遇到了一个非常恼人的问题。 通过提交按钮提交表单时,我可以看到它像“user=myusername”一样发送到浏览器,但 PHP 部分根本没有接收到它。 我尝试通过“echo”和“print_r”进行调试,但它们都显示为空,但是我从 zPanel 获取错误日志。
这是代码的 PHP 部分:
if(isset($_GET['user']) && isset($_GET['pw']) && isset($_GET['mail']))
{
$username = $_POST["user"];
$password = $_POST['pw'];
$email = $_POST["mail"];
$ipaddress = $_SERVER["REMOTE_ADDR"];
if(empty($username) || empty($password) || empty($email)) header("Location: register.php?empty");
else if(user_exists($username)) header("Location: register.php?exist");
else if(email_exists($email)) header("Location: register.php?mailexist");
else if($password != $repeat_pass) header("Location: register.php?wrongpw");
else
{
register($username,$password,$ipaddress,$email);
header("Location: register.php?registrationsuccess");
exit();
}
}
这里是触发上述内容的 HTML 部分:
<form>
<div>
<label for="username" class="control-label" style="color: #666; position: absolute; top: 110px;">Username</label>
<div class="input-group" style="margin-left: 100px; margin-top: 8px; width: 300px;">
<span class="input-group-addon"><span class="glyphicon glyphicon-user"></span></span>
<input type="text" name="user" class="form-control" placeholder="Username" required>
</div>
<br/>
<label for="password" class="control-label" style="color: #666; position: absolute; top: 163px;">Password</label>
<div style="margin-left: 100px; width: 300px;" class="input-group">
<span class="input-group-addon"><span class="glyphicon glyphicon-lock"></span></span>
<input type="password" name="pw" class="form-control" placeholder="Password" required>
</div>
</br>
<label for="email" class="control-label" style="color: #666; position: absolute; top: 220px;">Email</label>
<div style="margin-left: 100px; width: 300px;" class="input-group">
<span class="input-group-addon"><span class="glyphicon glyphicon-import"></span></span>
<input type="text" name="mail" class="form-control" placeholder="E-mail" required>
</div>
<div class="btn-group" style="position: absolute; top: 265px; left: 125px;">
<button type="submit" class="btn btn-default" style="width: 300px; font-size: 18px;">Register</button>
</form>
是的,这是使用引导程序。 现在,每当您尝试登录时,它实际上会将您重定向到 register.php?empty,说明您没有在字段中输入任何内容。
这就是 zPanel 对我的吐槽:
[error] PHP Notice: Undefined index: username
[错误] PHP 注意:未定义索引:密码 [错误] PHP 注意:未定义索引:电子邮件
老实说,我不知道是什么造成了所有这些麻烦。 我错过了什么吗?
【问题讨论】: