【发布时间】:2015-09-14 16:08:52
【问题描述】:
我试图让你在成功注册后重定向到成功的页面,但是每当我点击注册按钮时,即使所有输入都是空的,我也会立即重定向
if(isset($_POST["registration"])){
if(!empty($_POST["gender"])
and !empty($_POST["username"])
and !strlen($_POST["username"]) < 3
and !empty($_POST["email"])
and !email($_POST["email"])
and !empty($_POST["emailver"])
and !verification($_POST["email"],$_POST["emailver"])
and !empty($_POST["password"])
and !strlen($_POST["password"]) < 8
and strlen($_POST["password"]) < 25
and checkUppercase($_POST["password"])
and checkLowercase($_POST["password"])
and checkNumber($_POST["password"])
and !empty($_POST["passwordver"])
and !verification($_POST["password"],$_POST["passwordver"])){
if(addgamer($db,$_SESSION["gender"],$_SESSION["username"],$_SESSION["email"],$_POST["password"]) === TRUE){
$url = 'succesfull.html';
header($url);
}
}
}
新增玩家功能
function addgamer($db,$gender,$username,$email,$password){
$sql = "INSERT INTO gamers (`gender`, `username`, `email`, `password`) VALUES('$gender','$username','$email','$password')";
$db -> exec($sql);
if ($db->query($sql) === TRUE) {
$GamerId = $db -> lastInsertId();
$_SESSION['GamerId'] = $GamerId;
return true;
} else {
return false;
}
}
我在这里找到了一些答案,但所有答案都一样,我对此没有解决方案。
GOTO($url);
或者
header('location: $url');
或者
if(addgamer($db,$_SESSION["gender"],$_SESSION["username"],$_SESSION["email"],$_SESSION["password"]) === FALSE ){
die();
}else{
$url = 'successful.php';
header($url);
}
也用 jQuery 尝试过
echo "<script>window.location = '$url'</script>";
每次单击注册提交按钮时,您都会被重定向到成功的页面,但在如上述代码所示的所有内容都正确填写之前不会发生这种情况。
您也可以看到,我想先尝试使用 php 来解决这个问题。
【问题讨论】:
-
addgamer()是做什么的?此外,如果您使用header()进行重定向,则使用类似于header("Location: path.html");。 -
你确定你不是无意中从其他地方重定向的吗?删除您的重定向并添加一个打印语句以确保
-
前几个点
header()应该看起来像这样header('Location: xxx.php);,后面应该是exit;以在该点停止执行。 -
请出示您的
<form标签并告诉我们您向我们展示的此表格的名称。我猜你和我们一样完全糊涂了 -
我的表单的开头是:'