• ベストアンサー

クッキー削除について

トップページからユーザIDとパスワードを入力し、次回から自動的にログインのチェックボックスにチェックを入れるとクッキー保存するという流れですが、 逆にそのとき保存した部分のクッキーを削除する方法をご教授頂けないでしょうか? ログイン後、ログアウトするとクッキーを削除したいとおもいます。 宜しくお願い致します。 ・レンタルサーバはロリポップです。 ・クッキーを保存するソースは↓ <?php $login=$_POST['login']; $email=$_POST['email']; if($login=="on"){ setcookie("email",$email,time()+(60*60*24*90)); echo mb_convert_encoding("保存しました","SJIS","EUC-JP"); } else{ echo mb_convert_encoding("クッキーを利用しません","SJIS","EUC-JP"); } ?>

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

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

クッキーというのは常に日付で管理されています。 setcookieで過去の日付を指定すると消えます

rad6
質問者

お礼

素人ですみません。 自分で調べても有効期限のところがいまいちわかりませんでした。 以下の部分をどのように変更すると(過去の日付の設定が分かりません)削除出来るのでしょうか? setcookie("email",$email,time()+(60*60*24*90)); お手数かけて申し訳御座いませんが、どなたかご教授頂けませんでしょうか?

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • cybert
  • ベストアンサー率56% (18/32)
回答No.2

time()+(60*60*24*90) ご自分のソースの上の箇所の意味を考えてみてください。 それと、サイトによりますが個人情報等を扱うサイトだったらCookieの有効期限が長すぎます。 ブラウザ閉じて保存する必要がなければ、セッション限り(指定なし)にするのが良いでしょう。

rad6
質問者

お礼

time()+(60*60*24*90) の意味が分かっていません。 参考書のソースをコピペして作ったもので、 参考書にも説明が書いてありませんでした。 また、検索サイトで探してもうまく探せません。 素人の為、お手数かけますが、 time()+(60*60*24*90)のご説明 宜しくお願い致します。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • mb_send_mailの2重投稿を防止したい

    初めて質問させていただきます。 動作環境はPHP4.3.0になります。 <? $to = "test@test.com"; $subject = "テスト"; $addheader = "From: $_POST[mail]\n"; $msg = "*************"; $to = mb_convert_encoding($to, "SJIS", "EUC-JP"); $subject = mb_convert_encoding($subject, "SJIS", "EUC-JP"); $msg = mb_convert_encoding($msg, "SJIS", "EUC-JP"); $addheader = mb_convert_encoding($addheader, "SJIS", "EUC-JP"); mb_language("Ja"); mb_internal_encoding("SJIS"); mb_send_mail($to, $subject, $msg, $addheader); setcookie("formdata", $posted , time()-1200); }; ?> 上記の用に記述をして、メールが届くのは確認をしたのですがなぜか9割位の確立でメールが二通届きます。 mb_send_mailの前後にecho分で文字を表示させたのですが、ループしている気配もありません。 どなたかこの現象を回避できる方法をお知りでしたらご教授下さい。 何卒、宜しくお願い致します。

    • ベストアンサー
    • PHP
  • PHP+Postgres 「髙」が文字化け

    DB上に格納した文字列を取得し、PHPで出力すると、 「髙」(はしごだか)等、一部の文字が「□・」のような見た目に化けてしまいます。 環境は以下です。 Linux(CentOS 5) PHP 5.1.6 Apache 2.2.3 PostgreSQL 8.4.3 文字コードは以下です。 Postgres:EUC-JP PHPソース:EUC php.ini の[mbstring]はコメントのまま変更していません。 文字コードの変換を試してみたのですが、「髙」としては出力できませんでした。 Windows上では「CP51932」に変換すると正常に出力できましたが、Linux上ではやはり駄目でした。 mb_language("uni"); mb_internal_encoding("euc-jp"); mb_http_input("auto"); mb_http_output("euc-jp"); $str = "髙橋"; print(mb_convert_encoding($str, "EUCJP-win")); print(mb_convert_encoding($str, "EUCJP-win","EUC-JP")); print(mb_convert_encoding($str, "SJIS")); print(mb_convert_encoding($str, "SJIS","EUC-JP")); print(mb_convert_encoding($str, "SJIS-win")); print(mb_convert_encoding($str, "SJIS-win","EUC-JP")); print(mb_convert_encoding($str, "UTF-8")); print(mb_convert_encoding($str, "UTF-8","EUC-JP")); print(mb_convert_encoding($str, "EUC","SJIS")); print(mb_convert_encoding($str, "Unicode")); print(mb_convert_encoding($str, "Unicode","EUC-JP")); print(mb_convert_encoding($str, "UTF-8", "sjis-win")); print(mb_convert_encoding($str, "CP51932")); print(mb_convert_encoding($str, "MS932")); print(mb_convert_encoding($str, "MS932","EUC-JP")); print(mb_convert_encoding($str, "UTF-8","EUCJP-win")); print(mb_convert_encoding(mb_convert_encoding($str, "EUCJP-win" ), "UTF-8","EUCJP-win")); print(mb_convert_encoding(mb_convert_encoding($str, "EUCJP-win","EUC-JP"), "UTF-8","EUCJP-win")); print(mb_convert_encoding(mb_convert_encoding($str, "SJIS-win" ), "UTF-8","SJIS-win")); print(mb_convert_encoding(mb_convert_encoding($str, "SJIS-win","EUC-JP"), "UTF-8","SJIS-win")); print(mb_convert_encoding(mb_convert_encoding($str, "SJIS-win" ), "EUCJP-win","SJIS-win")); print(mb_convert_encoding(mb_convert_encoding($str, "SJIS-win","EUC-JP"), "EUCJP-win","SJIS-win")); http://blog.livedoor.jp/loopus/archives/50160285.html 上記サイトによると、解決法は「EUC-JPで出力しないこと」という事でしたが、 文字コードを変換して出力できるような事を書いているサイトもあり、結論が出せずにいます。 ソースを書き換えるのは避けたいのですが、いい方法がありましたらご教示ください。

    • ベストアンサー
    • PHP
  • 文字コード(UTF-8)文字化けについて

    以下のphpを実行したところ、入力した文字によって文字化けしたりしなかったりします。 どなたか原因が分かる方がいらっしゃったら教えてください。 (見、一は化けない。上、実は化ける。) phpはバージョン5.2.8を使用しています。 (コード)----------------------- <html lang="ja"> <meta http-equiv="Content-type" content="text/html; charset=UTF-8" /> <head> </head> </body> <?php mb_language("Japanese"); mb_internal_encoding("UTF-8"); $org_text1 = "見"; $org_text2 = "上"; $org_text3 = "実"; $org_text4 = "一"; $telop_text1 = mb_convert_encoding($org_text1,'utf-8','ASCII, JIS, EUC-JP,SJIS'); $telop_text2 = mb_convert_encoding($org_text2,'utf-8','ASCII, JIS, EUC-JP,SJIS'); $telop_text3 = mb_convert_encoding($org_text3,'utf-8','ASCII, JIS, EUC-JP,SJIS'); $telop_text4 = mb_convert_encoding($org_text4,'utf-8','ASCII, JIS, EUC-JP,SJIS'); echo "telop_text1="; echo $telop_text1; echo "<br>"; echo "telop_text2="; echo $telop_text2; echo "<br>"; echo "telop_text3="; echo $telop_text3; echo "<br>"; echo "telop_text4="; echo $telop_text4; ?> </body> </html> (結果)------------------------- telop_text1=見 telop_text2= telop_text3=タ telop_text4=一

    • ベストアンサー
    • PHP
  • Shift-JISからUTF-8への変換が出来ません

    初歩的な質問で申し訳ありませんが、大変困っております。ただいまimagettftext()を使って日本語主力したく悪戦苦闘しております。  ページ自体はShift-JISで制作していますのでimagettftext()で日本語を出力する場合はUTF-8へ変換して出力するところまでは知れべていて分かりました。しかしいざmb_convert_encoding()で変換しようとするとなぜかUTF-8へ変換されません。 $str = mb_convert_encoding($str,"UTF-8","SJIS"); print mb_detect_encoding($str);  結果→SJIS しかしこれがEUC-JPなら変換されます。 $str = mb_convert_encoding($str,"EUC-JP","SJIS"); print mb_detect_encoding($str);  結果→EUC-JP なぜなのか原因が分からなく困っております。 どなたかご教授願いませんでしょうか? よろしくお願い致します。

    • 締切済み
    • PHP
  • CSVダウンロードがうまくいきません

    CSVダウンロードがうまくいきません。 次のように書いています。 OCIExecute($stmt); // データのFetch while (OCIFetch($stmt)) { $a = trim(OCIResult($stmt, "A")); $b = mb_convert_encoding(OCIResult($stmt, "B"), "SJIS", "EUC-JP"); $c = mb_convert_encoding(OCIResult($stmt, "C"), "SJIS", "EUC-JP"); $d = mb_convert_encoding(OCIResult($stmt, "D"), "SJIS", "EUC-JP"); $e = mb_convert_encoding(OCIResult($stmt, "E"), "SJIS", "EUC-JP"); $f = trim(OCIResult($stmt, "F")); $g = trim(OCIResult($stmt, "G")); ?> <?=$a ?>,"<?=$b ?>","<?=$c ?>","<?=$d ?>","<?=$e ?>",<?=$f ?>,<?=$g ?>, <? } エラーがたくさん出ています。教えてください! $a=number型 $b=verchar2型 $c=verchar2型 $d=verchar2型 $e=verchar2型 $f=number型 $g=date型

    • 締切済み
    • PHP
  • CSVダウンロードができません。

    PHP4とMySQL4.1.21で開発しています。 CSVダウンロードをしようと下記のように記述しましたが動きません。どこがおかしいでしょうか?教えてください。 print mb_convert_encoding("メールアドレス\n","SJIS","EUC-JP"); while ($Row = mysql_fetch_array($result, MYSQL_ASSOC)) { $mail=mb_convert_encoding($Row['mail'],"SJIS","EUC-JP"); print $vmem_mail."\"\n"; }

    • 締切済み
    • PHP
  • 文字列のエンコードについて

    例えば以下のコードで日本人がターゲットのサイトを作ったときにエンコードがutf8以外ってありますか?idなどもutf8でなんとかなるのになぜ他の文字コードは必要なのですか? //SJISに変換 $str = "私のidはrxxdtggb63332224667です。"; $result = mb_convert_encoding($str, "SJIS"); echo $result . "\n"; //UTF-8に変換 echo mb_convert_encoding($str, "UTF-8"); //SJISに変換 $str = "gcdddyyghgcc.jpg"; $result = mb_convert_encoding($str, "SJIS"); echo $result . "\n"; //UTF-8に変換 echo mb_convert_encoding($str, "UTF-8");

    • ベストアンサー
    • PHP
  • mb_convert_encoding で?になる。

    $old = "名前"; $new = mb_convert_encoding($old,"EUC-JP","auto"); echo "$new"; 上のスクリプトを実行すると、’名前’が半角の’?’に なるんですよー。 何ででしょうか? ページもEUC-JPだし、phpもEUCです。 PHP Version 4.3.10で、php.iniの mbstring.internal_encodingはEUC-JPです。 OSは、テストなので自分のPCのw2kです。 mb_convert_encodingが実験的だからなのでしょうか? 他にも同じようになる物があるのでしょうか? 対処方法はあるのでしょうか?

    • ベストアンサー
    • PHP
  • SJIS→EUCに送っても文字化けしない

    htmlは、SJISで作っています。 PHPは、EUCで作っています。 普通は文字化けをするため、mb_convert_encoding関数を用いますが、 なぜか、この関数を使わなくても、文字化けしません。 友人は、有り得ないと言います。 事実、友人PCではmb_convert_encoding関数で文字化けを直してました。 私も友人に同感で、SJIS→SJISやEUC→EUCなら文字化けしないけど、文字コードが違うのです。違うから、mb_convert_encoding関数を使うと、思っているのですが‥‥ 設定が違うのかと思い、友人の、php.iniなどいくつかのファイルを私のPCに上書きしてもらいましたが、変わりませんでした。 こういうことってあるのでしょうか? 文字化けしないなら、mb_convert_encoding関数を使わなくて良いので、楽だと思いましたが・・・ 何かの不具合なら、いざ完成した時、またmb_convert_encoding関数をいれる手間がありますし、どうしようか迷っています。 本には、「文字化けしない場合もある」という記述は一言も書いてありませんでした。 逆に、「文字化けするからmb_convert_encoding関数を用いる」と大きく書いてあるぐらいです。 何かの設定なのでしょうか? ソフトのバージョンも、同じでした。不思議です。

    • ベストアンサー
    • PHP
  • mb_ereg_replace での文字変換

    PHPでフリーの掲示板を制作中です。 目立たせようとする記号を削除しましたがうまく動きません。 $html = mb_ereg_replace('△', '', 'あああ△あああ'); ・希望結果 ああああああ ・実際の結果 ああ 文字コードは全て EUC-JP です。 また以下を追加するとエラーがでました。 $str="あああ△あああ"; $str = mb_convert_encoding($str, 'EUC-JP', 'auto'); ・エラー Warning: mb_convert_encoding() [function.mb-convert-encoding]: Unable to detect character encoding in そもそもmb_convert_encodingを使わない方が良いのか使い方が悪いのかも解りませんがアドバイスお願いします。

    • ベストアンサー
    • PHP