0

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

「結果が見つかりませんでした!」というテキストを表示する代わりに、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; } 

?>
4

2 に答える 2

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;
    }
}
?>
于 2012-04-26T16:36:41.537 に答える
0

エラーを ing する代わりにecho、ヘッダー リダイレクトを使用します。例。

header("Location: search_error1.php");

于 2012-04-26T16:36:52.787 に答える