2012-04-26 10 views
0

エラーが発生した場合にクライアントを別のページに誘導するように検索スクリプトを変更することはできますか?検索PHPスクリプトからエラーページを作成する

「結果は見つかりませんでした!」と表示されるのではなく、search_error1.phpに指示してください。

「検索フィールドを入力していません」と表示されているのではなく、search_error2.phpに移動してください。

<?php 

$error = ''; 

if (isset($_POST['Submit'])) { 
if (!empty($_POST['reg'])) { 

$record = $_POST['reg']; 

$query = mysql_query("SELECT * FROM reg_add WHERE reg='" . mysql_real_escape_string($record) . "'"); 
$result = mysql_num_rows($query); 

if ($result != 0) { 

$row = mysql_fetch_array($query); 

$first_name = $row['first_name']; 
$last_name = $row['last_name']; 
$reg = $row['reg']; 

} else {$error = 'No result have been found!';} 

} else {$error = 'You have not entered the search field, <a  href="javascript:history.back(1)">Go back</a>.';} 

} 

if (!empty($error)) { echo $error; } 

?> 

答えて

2

はい

使用header()

http://se2.php.net/manual/en/function.header.php

} else { header("Location: search_error1.php"); exit; } 

} else { header("Location: search_error2.php"); exit; } 

あなたのコード(+意図)は次のようになります。

<?php 
if (isset($_POST['Submit'])) { 
    if (!empty($_POST['reg'])) { 

     $record = $_POST['reg']; 

     $query = mysql_query("SELECT * FROM reg_add WHERE reg='" . mysql_real_escape_string($record) . "'"); 
     $result = mysql_num_rows($query); 

     if ($result != 0) { 

      $row = mysql_fetch_array($query); 

      $first_name = $row['first_name']; 
      $last_name = $row['last_name']; 
      $reg = $row['reg']; 

     } else { 
      header("Location: search_error1.php"); 
      exit; 
     } 

    } else { 
     header("Location: search_error2.php"); 
     exit; 
    } 
} 
?> 
+0

ありがとうございました。とてもありがたい!! :-) – Erik

+0

あなたが私の答えに満足しているなら、それを受け入れられた答えとしてマークしてください。あなたはこの答えの左側にあるチェックボックスの概要をクリックすることでそれを行うことができます! :) – josmith

0

の代わりに0123をエラーが発生した場合は、ヘッダーのリダイレクトを使用してください。例。

header("Location: search_error1.php");