2011-10-26 9 views
0

参照番号と郵便番号のユーザ入力を投稿し、そのURLパラメータを含むページにユーザをリダイレクトするスクリプト(PHPで書かれている)を持っている:パラメータクエリが正しくないときにユーザをリダイレクトする

http://mydomain.com/data.php?reference=REF1234&postcode=LE1FEH

data.phpスクリプトは、URLパラメータに応じてデータベースからデータを取得しますが、私は何をするだろう、参照番号や郵便番号が実際に存在しない場合、またはの任意の行に一致しますデータベース - どのように私はエラーページにユーザーを送りますか?

今のところ存在しない場合でも、ユーザーはdata.phpページに誘導されます。ページにはデータがありません。

答えて

0

//クエリの後:

if(mysql_num_rows($res) < 1) 
{ 
    header('Location: /errorpage/'); 
    exit; 
} 

好ましくは、そのページは、あなたがしたい場合は、ヘッダーに上それらの作品をタックすることができ、エラーのいくつかの詳細を持っています。または、データをすぐにロードするページにエラーを表示することもできます。

+0

大変感謝しました:)私はもう5分間は答えを受け入れることができません。 –

+0

@ user1013930:幸い、それを聞いて嬉しいです! – Josh

+0

ちょっと不思議ですが、ユーザーがref以外のものを押し込もうとすると、SQLインジェクションを防ぐことができます。いいえ、またはポストコード?それとも何か他のものを含める必要がありますか? –

0
header("Location: error.php"); 
die("We attempted to redirect you to error.php but could not."); 

おそらく、die()ステートメントにjavascriptのリダイレクトを追加します。ボットはヘッダーのリダイレクトに追随しないことがあり、残りのページを見ることができるため、リダイレクト後にdie()を追加することをお勧めします。

関連する問題