この質問は何百万回も聞かれましたが、うまくいけば私は答えが見つからないようです。私は成功したサインアッププロセスの後にインデックスページ(ログインが行われる)にリダイレクトしようとしています。理想的には別のjqueryファイルを使用して別のページにリダイレクト
header("Location: index.php");
が使用されます。しかし、私は私のPHP検証の一環としてエコーを使用することはできません。私は以下のコードは完全に動作します。
<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を使わないようにしたいと考えています。だから私の質問は、そのスクリプトが外部にし、これは&& ($qresult)
ビットなしで動作しますが、あなただけの提出をクリックした場合、その後、検証の非が行わ
$('input[type=submit]').click && ($qresult)(function() {
window.location.href = 'index.php';
return false;
}
のようにjqueryのファイルでそれをキャッチする方法はありさ何もデータベースに入力されません。
また、PDOの方が使いやすく、mysql関数は少し古くなっていますが、私はすべてに慣れています。フォームのアクションは、あなたがこのようなinsert_user()何かを呼び出すことになります。この同じファイルへのPOSTリクエストを送信した場合
function insert_user($data) {
$qresult = false;
$resultusername = queryMysql("SELECT firstname FROM members WHERE username='$username'");
if ($resultusername->num_rows < 1)
{
$qresult = queryMysql("
INSERT INTO members (firstname, surname, gender, dob, email, username, password)
VALUES('{$data['firstname']}', '$data['surname']', '$data['gender']', '$data['dob']', '$data['email']', '$data['username']', '$data['password']')
");
}
return $qresult;
}
:ありがとう
PHPコードでは、 'echo 'を行うことができます ' –
@NikolayGanovskiすみません、私の投稿を編集する必要があります!それは私がやったことです、そのスクリプトを外部にしてjqueryファイルにキャッチする方法があるのだろうか。 – crapAtCode
もちろん、 'のように書くことはできますが、メリットを参照してください... – Jeff