4 に答える
すぐに期限切れになるようにCookieを設定しています。
setcookie("edgeUser", $_POST['userName'], time()+0);
に設定します
setcookie("edgeUser", $_POST['userName'], time()+($howLongItWillLast));
編集:Sudhirは、次のページが読み込まれるまで利用できないことも正しく指摘しています。ドキュメントから:
Cookieが設定されると、次のページの読み込み時に$_COOKIEまたは$HTTP_COOKIE_VARS配列を使用してCookieにアクセスできます。
Cookie が設定されると、次のページの読み込み時に $_COOKIE を使用してアクセスし、次のように Cookie を設定してみてください。
setcookie("edgeUser", $_POST['userName'], time()+3600); /* expire in 1 hour */
(エラーからの)問題は、$_POST['userName']
または$_COOKIE['edgeUser']
(エラーが発生した行に応じて)未定義のようです-つまり、設定されていないことを意味し、実際にCookieを設定していることを確認すると、未定義のユーザー名。取得していることを確認してください。isset()
また、エコーする前に Cookie の有効期限が切れる可能性もあります。その場合は、Fluffeh のソリューションを使用してください。
あなたはそれを設定し、瞬時に削除します。「ユーザーがセッションを閉じたときに削除」したい場合は、使用する必要があります$_SESSION['edgeUser'] = $_POST['userName'];