私は現在、学校の最終学年のWebアプリケーションプロジェクトを行っています。私はウェブデベロッパーよりもウェブデザイナーの方が多いので、私は得ることができるほどの助けが必要です!ポストリダイレクト - データベースへのダブルエントリの取得と投稿
私のプロジェクトでは、ブログサイトとよく似たウェブサイトを作成しています。
私が実装したい最初の機能は、ユーザーが登録しているときに実行されていたので、すでにユーザー名が使用されていないようにsignUp.php(html form)/ doSignUp.php(phpデータをデータベースに投稿)データベース。
は:たとえば、データベースのusername = "happy"です。 User1は のsignUp.phpにフォームを記入し、 "happy"を記入して doSignUp.phpに提出してください。 doSignUp.phpは username = "happy"が内部にあるかどうかをデータベースでチェックします。内部にある場合は、ダブル入力を防ぐためにデータ を再度内部にポストしませんが、代わりに signUp.phpにリダイレクトして、「ユーザー名は です」というメッセージで通知します。私はアイデアを持っている最初の関数については
$selectUser = executeSelectQuery("SELECT username FROM user WHERE username="$username")
if ($selectUser==0) {
$doRegister = executeInsertQuery("INSERT INTO user (Name,Username, Email,
Password, DOB_Date, DOB_Month, DOB_Year, Gender,admin, Country) VALUES
('$Name','$Username','$Email',SHA1('$Password'),'$DOB1','$DOB2','$DOB3','$Gender','$role' ,
'$Country')");
} else {
<// redirect codes here to signUp.php with message "user name is in used">
}
私が実装したい第二の機能はlogin.php(ログインフォーム)を伴うdoLogin.php(ポストされたデータは、と一致するかどうかを確認ログインフォームに入力したもの)とmemberPage.php(メンバであればmemberPageにリダイレクトし、彼にはセッションを作成し、そうでない場合はlogin.phpにリダイレクトしてメッセージを表示します)。
第2の機能については、私のログインにpost-redirect-getメソッドをどのように実装すればよいかわかりません。私はデモのためにgoogleを試してみましたが、役に立たなかった。できれば助けてください!事前に感謝:D
助けてくれてありがとうございますが、あなたのコードを試しました\t header( "Location:signUp.php?message ="。urlencode( "user name is in use"));ユーザーが使用したユーザー名を入力したときにリダイレクトしなかったため、間違っているものは見つかりませんでした。 – Jakob
これは、あなたの条件 'if($ selectUser = 0){'は**常に** trueです。なぜなら、あなたは '=='比較演算子の代わりに '='という代入を使用しているからです。 –
私は==演算子に変更しました。テストしました。私の条件が偽であっても、それはsignUpページにリダイレクトされませんが、今やダブルエントリーはできません。 – Jakob