0

フォーム ページvenue_eventsのアクションは、 event_listを呼び出し、要求されたクエリ出力を提供します。event_listページへのリンクを入力すると、フォームからの値を使用して新しいクエリが入力されます。ユーザーがこれを行うのを防ぐ方法はありますか? または、ユーザーが行われた場合に、venue_eventsページにリダイレクトすることはできますか?

4

2 に答える 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 に答える