0

現在のユーザーがさまざまな都市を選択して閲覧できる Web サイトに取り組んでいます。URL に都市を保持したくなく、Cookie に依存したくありません。 Cookieを受け入れません..セッションでそれをやっていますが、どういうわけかセッションが非常に早く停止し、何が悪いのかわかりません..

if (isset($_GET['c'])) {
unset($_SESSION['city']); 
$_SESSION['city'] = $_GET['c'];
}
if (empty($_SESSION['city'])) {
$_SESSION['city']='07400';
}
$city = $_SESSION['city'];

3 ページクリックすると、都市は 07400 に戻ります..何らかの方法で..セッションが空になります..しかし、方法がわかりません...

4

2 に答える 2

1

プロジェクトをテスト/デバッグする可能性がなければ、問題を見つけることは非常に困難です。それにもかかわらず、これはあなたを正しい軌道に乗せるのに役立ちます:

あなたがリクエストしているすべてのページで、次のようにセッションIDを提供しprint(session_id());ます。

セッション ID が変更された場合は、セッションが失われているため、ID がどのように渡され、セッションが再作成されるかを確認する必要があります (Cookie、URL の ID、session_start)。また、ページの先頭にコードを記述error_reporting(E_ALL);して、header-already-sent 警告が表示されるかどうかを確認します。

session-id が一定のままである場合、セッションは正しく再作成されます。次に、プロジェクトでコードを検索し、セッションに書き込み、変数をリセットする可能性があります。

于 2012-07-21T18:32:11.623 に答える
0

スクリプトに十分長く取り組んだ後、city スクリプトには何も問題がないことがわかりました... Sessions には何も問題はありませんでした.. ']..すべての返信に感謝します..間違いを探すためのヒントと、おそらく変更されたセッションIDに感謝します...

于 2012-07-23T17:48:48.297 に答える