• ベストアンサー

setcookie

掲示板を作成しています。 記事を投稿した際に名前とパスワードをクッキーに保存しようとしているのですが、 何度やってもエラーになります。 $expire = time() + 30*24*3600; setcookie("cname", $_POST['name'], $expire); setcookie("cpass", $_POST['pass'], $expire); 現在はこのように記述しているのですが、setcookieの部分両方でエラーが出ます。 色々書き直したりもしたのですがどうしてもうまくいかず… どこが間違っているのでしょうか? アドバイスをお願いします<(_ _)>

質問者が選んだベストアンサー

  • ベストアンサー
  • little-m
  • ベストアンサー率44% (45/102)
回答No.2

 見たところ、setcookie()の記述に間違いは無いように見えます。  ただ、cookie は HTTPプロトコルの制約上、他のあらゆるhtml文の出力より先に送信しなければなりません。(HTTPヘッダー部分で送信する必要があります)  ですので、setcookie()を行う前に print()文や ?> <html> <head> : <?php  等、出力を行っていないでしょうか。先に出力を 行っていると、エラーが出たと記憶しております。

kamay
質問者

お礼

まさにそれが原因でした。 書き方を変えたところ、エラーは出ずに無事動作してくれました。 とても助かりました。ありがとうございます^^

その他の回答 (2)

  • sisya
  • ベストアンサー率39% (97/244)
回答No.3

・formの値はpostで渡していますか? ・要素の名前はそれぞれ「name」「pass」になっていますか? ・どちらの値もかならず入力された状態で  submitされていますか? ・どんなエラーですか?setcookieに関係したエラーですか? ・どこをどうなおしてうまくいきませんでしたか? など、エラーメッセージすらない状態の質問では 答えが多すぎてよい回答が得られにくいですよ?

kamay
質問者

お礼

ありがとうございます。 無事解決しました。

  • meeee
  • ベストアンサー率31% (6/19)
回答No.1

どんなエラーが出ていますか? それはそれとして。 クッキーにパスワードとか設定するのは、セキュリティ上好ましくないんではないかと。 ま、使用目的によりけりですが。

kamay
質問者

お礼

ありがとうございます。 無事解決しました。 確かにパスワードを設定するのは好ましくないかもしれませんね… レンタル掲示板等でそれが当たり前のように思ってしまっていました。 必要性についてもう一度考えてみようと思います。

関連するQ&A