我知道这个问题已被问过数百万次,但希望这有点不同,因为我似乎无法找到答案。在成功注册过程后,我正在尝试重定向回索引页面(登录发生的地方)。理想情况下
header("Location: index.php");
将被使用。但是,我不能使用它作为我的PHP验证的一部分使用echo。我下面的代码完美无缺。使用
<script>
window.location.href = "index.php";
</script>
这是我的验证码的结尾部分:
//loads of other form validation using echo's
...
{
$resultusername = queryMysql("SELECT * FROM members WHERE username='$username'");
if ($resultusername->num_rows)
{
echo <<<_END
<div id=usernameinuse>
<p>This username is already in use!</p>
</div>
_END;
}
else
{
$qresult = queryMysql("INSERT INTO members (firstname,
surname, gender, dob, email, username, password)
VALUES('$firstname', '$surname', '$gender', '$dob', '$email', '$username', '$password')");
echo <<<_END
<script>
window.location.href = "index.php";
</script>
_END;
}
就像我说这完美无缺,然而,我理想地喜欢所有jquery和javascript都在我的php的单独文件中并链接在文件的顶部(其他jquery文件已经在那里)并且想要避免进入php文件中间的javascript。所以我的问题是,有没有办法让该脚本外部并在像
这样的jquery文件中捕获它$('input[type=submit]').click && ($qresult)(function() {
window.location.href = 'index.php';
return false;
}
这可以在没有&& ($qresult)
位的情况下工作,但是如果您只是单击“提交”,则不进行验证,并且不会向数据库输入任何内容。
我也知道PDO使用起来要好得多,而且mysql函数稍微过时,但我只是习惯了一切。感谢