0

フォームの送信元の URL をセッション変数に格納し、それを現在のページの URL と比較する PHP スクリプトがあります。セッションに保存されているものと同じでない場合は、設定が解除されますが、少なくともそれが機能するはずです。問題は、2 つの URL が一致するかどうかを確認するために使用される if ステートメントが無視されているように見え、とにかくセッション変数が設定解除されることです。

$compare_url_old = array_shift(explode(',', $_SESSION['search_page']));
$compare_url_new = array_shift(explode(',', $_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']));

if ($compare_url_new != $compare_url_old)
{
    unset($_SESSION['search_page']);
    unset($_SESSION['search_price_min']);
    unset($_SESSION['search_price_max']);
    unset($_SESSION['search_name']);
}

奇妙な部分は、if ステートメント内で何かをエコーし​​ようとすると、正常に動作しますが、何らかの理由で、結果にもかかわらず、設定されていない関数が毎回呼び出されることです。

4

1 に答える 1

0

問題は解決しました。問題のコードの上で見落としていたことが判明しました。スクリプトは正常に動作します。そのために残念。

于 2013-02-04T11:41:36.527 に答える