- ベストアンサー
setcookie
掲示板を作成しています。 記事を投稿した際に名前とパスワードをクッキーに保存しようとしているのですが、 何度やってもエラーになります。 $expire = time() + 30*24*3600; setcookie("cname", $_POST['name'], $expire); setcookie("cpass", $_POST['pass'], $expire); 現在はこのように記述しているのですが、setcookieの部分両方でエラーが出ます。 色々書き直したりもしたのですがどうしてもうまくいかず… どこが間違っているのでしょうか? アドバイスをお願いします<(_ _)>
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
見たところ、setcookie()の記述に間違いは無いように見えます。 ただ、cookie は HTTPプロトコルの制約上、他のあらゆるhtml文の出力より先に送信しなければなりません。(HTTPヘッダー部分で送信する必要があります) ですので、setcookie()を行う前に print()文や ?> <html> <head> : <?php 等、出力を行っていないでしょうか。先に出力を 行っていると、エラーが出たと記憶しております。
その他の回答 (2)
- sisya
- ベストアンサー率39% (97/244)
・formの値はpostで渡していますか? ・要素の名前はそれぞれ「name」「pass」になっていますか? ・どちらの値もかならず入力された状態で submitされていますか? ・どんなエラーですか?setcookieに関係したエラーですか? ・どこをどうなおしてうまくいきませんでしたか? など、エラーメッセージすらない状態の質問では 答えが多すぎてよい回答が得られにくいですよ?
お礼
ありがとうございます。 無事解決しました。
- meeee
- ベストアンサー率31% (6/19)
どんなエラーが出ていますか? それはそれとして。 クッキーにパスワードとか設定するのは、セキュリティ上好ましくないんではないかと。 ま、使用目的によりけりですが。
お礼
ありがとうございます。 無事解決しました。 確かにパスワードを設定するのは好ましくないかもしれませんね… レンタル掲示板等でそれが当たり前のように思ってしまっていました。 必要性についてもう一度考えてみようと思います。
お礼
まさにそれが原因でした。 書き方を変えたところ、エラーは出ずに無事動作してくれました。 とても助かりました。ありがとうございます^^