フォーム ページvenue_eventsのアクションは、 event_listを呼び出し、要求されたクエリ出力を提供します。event_listページへのリンクを入力すると、フォームからの値を使用して新しいクエリが入力されます。ユーザーがこれを行うのを防ぐ方法はありますか? または、ユーザーが行われた場合に、venue_eventsページにリダイレクトすることはできますか?
2 に答える
1
ランディング ページでは、正しいクエリがあるかどうか、またはクエリを作成するための正しいデータがあるかどうかを確認する必要があります。そうでない場合、たとえばユーザーが URL を直接入力したために、ユーザーを目的のページ (おそらくフォーム 1) にリダイレクトできますheader('Location: http://www.mysite.com/my_form_page.php');
。
于 2013-02-14T14:09:32.877 に答える
0
あなたが正しく理解している場合は、データベースにクエリを実行する前に値を検証する必要があります。有効な値がない場合は、html でjavascriptまたはメタ リダイレクトを使用するか、以下を使用してリダイレクトを開始できます。
header('Location: http://www.domain.com/site.php');
これは、コマンドの前に出力がない場合にのみ機能しheader()
ます。さらに、データベースから結果が返されたかどうかを確認することもできます。そうでない場合は、リダイレクトを開始することもできます。
あなたのコメントに対する私の提案:
<?php
// Was a search term passed?
if (isset($_POST['search']) && !empty($_POST['search'])){
$sql=" SELECT * FROM venue_event ";
$search_term = mysql_real_escape_string($_POST['AAC']);
$sql .= "WHERE venue = '{$search_term}' ";
$sql .= "AND state = '{$search_term2}'"; // $search_term2 isn't defined in your code at all...
$sql .= "ORDER BY startdate ASC";
$result=mysql_query($sql) or die(mysql_error());
}else{
// Do redirection here
}
?>
于 2013-02-14T14:06:35.200 に答える