• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:PHPのクッキー情報を活用したい)

PHPのクッキー情報を活用したい

このQ&Aのポイント
  • プログラムがうまく動かない状況において、PHPのクッキー情報を活用して問題を解決したいです。
  • 現在入門書で勉強中で、指示通りにプログラムを書いたつもりですが、プログラムが正常に動きません。
  • 使用しているOSはWindows 7、ブラウザはFirefox 3.6.11、Apacheはバージョン2.2、PHPはバージョン5.2.14です。

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

  • ベストアンサー
  • asahina02
  • ベストアンサー率47% (95/202)
回答No.1

setcookie関数をコールする前にHTMLを出力している為です。 cookie_rec.phpを <?php setcookie(・・・); ?> <html>  :  : という感じで書けば問題ないかと思います。 マニュアルの説明も読んでみて下さい。 以下マニュアル引用(http://php.s3.to/man/function.setcookie.html) > もしもこの関数をコールする前に何らかの出力がある場合には、 setcookie() は失敗し FALSE を返します。 setcookie() が正常に実行されると、TRUE を返します。

ghfjri
質問者

お礼

すばやい回答ありがとうございます マニュアルがあったんですね。次からは調べてから質問するようにします。 引用先のサイトは回答者様のサイトなんでしょうか? 404の下の一言にただならぬセンスを感じます。 しかも開くごとにセリフが変わるんですね。 いつか自分もこのようなサイトを作ってみたいです。

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

その他の回答 (2)

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

蛇足ながら 本流はこちらなので、参考までに http://www.php.net/manual/ja/indexes.php >404の下の一言にただならぬセンスを感じます。 嫌味かと思いきや、404エラーに絵をつけているんですね

ghfjri
質問者

お礼

回答ありがとうございます。 結構珍しいですよね。自分はこういうページははじめてみました。

全文を見る
すると、全ての回答が全文表示されます。
  • asahina02
  • ベストアンサー率47% (95/202)
回答No.2

#1です 文中のリンク先ですが、私のサイトではなく良く参照しているサイトです。 (が、404ページは私も初めて知りました^^) また、記入したリンクが末尾の括弧を含む感じになってしまったようなので 括弧内をコピペで確認してもらえれば、setcookieの説明ページが見れます。

ghfjri
質問者

お礼

ご丁寧にありがとうございます。 firefoxのアドオンのおかげ(?)できれいに表示されました。

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

関連するQ&A

  • PHP入門の本を買って勉強しているのですが・・・

    この前、10日間で覚えるPHP5入門教室という本を買い、勉強していたのですがクッキー関連のところでつまりました。 ・cookie.php <html> <head> <title>クッキーでデータを記録する</title> </head> <body> <form method="post" action="cookie_rec.php"> E-Mailアドレス: <input type="text" name="email" size="30" maxlength="50" value="<?php print($_COOKIE['email']); ?>" /> <input type="submit" value="送信" /> </form> </body> </html> ・cookie_rec.php <html> <head> <title>クッキーでデータを記録する</title> </head> <body> <?php setcookie("email",$_post['email'],time() + (60*60*24*90)); ?> クッキー"email"を保存しました。 </body> </html> 本通りに上記のコードをうってみたのですがクッキーが保存されないのです。本によると1回目にe-mailを送信すると二回目に自動的にcookie.phpのテキストボックスに表示されると書いてあったのですがそれが表示されないのです。一応、本についてるCDに入っているサンプルデータのやつを使ってやっても同じ結果になりました。 それと恐縮ですがPHPをわかりやすく解説していただいているサイトがあれば教えてください。

    • ベストアンサー
    • PHP
  • エラー Warning: Cannot modify header information

    10日で覚えるPHP入門教室の本を買ってPHPを学習中の初心者です。 この本のサンプル例題でクッキーを使って初回入力データを2目のアクセスでも表示するコードがあるのですが、どうしても Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\php10\day02-3\cookie_rec.php:6) in C:\xampp\htdocs\php10\day02-3\cookie_rec.php on line 6 のエラーがでます。 下記がそのサンプルコードズバリです。 -----cookie.php------- <html> <head> <title>クッキーでデータを記録する</title> </head> <body> <form method="POST" action="cookie_rec.php"> E-Mailアドレス: <input type="text" name="email" size="30" maxlength="50" value="<?php print($_COOKIE['email']); ?>" /> <input type="submit" value="送信" /> </form> </body> </html> ------cookie_rec.php------- <html> <head> <title>クッキーでデータを記録する</title> </head> <body> <?php setcookie("email",$_POST['email'],time()+(60*60*24*90)); ?> クッキー"email"を保存しました。 </body> </html> cookie.phpでメルアドを送信するとcookie_rec.phpでクッキーにセットして次回cookie.phpを開けたらメルアドが既にinputboxに入力した状態になるはずですが、どうしてcookie.phpの送信ボタンを押すと上記のエラー表示となります。 なにが原因しているのでしょうか? お解りになる方、宜しくお願い致します。 環境はXAMPP Windows Version 1.6.3aのローカルでOSはXPです。

    • ベストアンサー
    • PHP
  • PHP cookie受け渡しについて

    php 5.16 apache 2.0 フォーム -------------------------------------------------------------- <form method="POST" action="./php_cookie_tm.php"> E-Mail<br> <input type="text" name="mail" value="<?php print($_COOKIE['form_email']); ?>"><br> <input type="submit" value=" 保存 "> </form> -------------------------------------------------------------- 出力 -------------------------------------------------------------- <?php setcookie("form_email",$_POST['form_email'],time()+(60*60*24*90)); ?> クッキー保存 -------------------------------------------------------------- とすると Warning: Cannot modify header information - headers already sent by (output started at C:\Program Files\○○.php:4) in ・・・・・・・ というエラーがでます。 既に発信している?みたいなエラーなのですが・・・・ なぜでるのでしょうか? php.iniの設定?等いろいろみてはいるのですが、原因不明にて すごい困っております。 初心者質問ですいません。

    • ベストアンサー
    • PHP
  • クッキー認証>クッキー削除ができない!!

    今回は、クッキー認証画面を作成している際、 エラーが出てしまって先に進めず投稿しました。 下記にプログラム記載 ----H_01.html---------------------------------- <html> <head> <title>クッキー認証</title> </head> <body> <center> <form method="POST" action="H_02.php"> 名前<input type="text" name="name"> パスワード<input type="Password" name="pass"> cookieを記録する<input type="checkbox" name="chk"> <input type="submit" value="送信"> <input type="reset" value="リセット"> </form> </center> </body> </html> ------------------------------------------------ -----H_02.php---------------------------------- <?php $name = $_COOKIE['name']; $pass = $_COOKIE['pass']; $cnt = $_COOKIE['chk']; if ($cnt == True) { $lim = time()+7*24*60*60; //有効期限1週間 setcookie('name',$name,$lim); setcookie('pass',$pass,$lim); } else { setcookie('name'); setcookie('pass'); } ?> ------------------------------------------------ else文内の、setcookie二行にエラーが出ます。 htmlでチェックボックスにチェックが施されていない場合、クッキーを削除。 調べてみたのですが、どうしたらよいのかわからず 投稿しました。よろしくお願いします。

    • ベストアンサー
    • PHP
  • クッキーがよくわかりません

    クッキーの利用の仕方が不明です。 ↓以下のようなプログラムを↓をコピペしてきたのですが、よくわかりません…$data=$_COOKIE["data"];の部分でエラー発生します。 どういうことでしょうか? http://w1.nirai.ne.jp/freeze/main/files/10_01_cookie.html <?php       //クッキーは<html>よりも先に記述する $data=$_COOKIE["data"];     //まずクッキーを読み出す  if(!isset($data)){       //何もデータが無ければ   $data = $_POST['data'];   //postで受け取ったデータを  }else{             //クッキーデータがあれば   $data = $data."<br>".$_POST['data'];    //前のデータに新しいデータをくっつける  } setcookie("data", $data, time()+60*10);    //そしてそのデータを60秒×10つまり10分間記憶する ?> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html lang="ja"> <head> <meta http-equiv="Content-type" content="text/html; charset=EUC-JP"> <meta http-equiv="Content-Style-Type" content="text/css"> <title>クッキーで、すぐ消える一行メモ</title> </head> <body> クッキーで、すぐ消える一行メモ<br> 文章を入力して表示クリックを、何度か繰り返してください。10分で消えます。<br> <form action="10_01_cookie.php" method="post"> <input type="text" name="data" size="50"> <input type="submit" value="表示!"> </form> <!--ここからPHPが始まります。--> <?php echo $data;    //入力された文を改行をはさんで記憶しているので、それを記述する ?> <!--これでPHPは終わりです。--> </body> </html>

    • ベストアンサー
    • PHP
  • PHPにおけるCookieの挙動について。

    PHPにおけるCookieの挙動について。 PHPには今回初めて触れるのですが…。 PHPでCookieを使ったプログラムを作っていたところ、「Cookieに値を保存することはできている(ブラウザの機能でCookieの一覧を確認したところ、意図した通りの名前で意図した値が保存されていました)のに取り出すことができない」という事態にはまってしまいました。 プログラムは以下の通りです。 -------------------------------- ・TestCookieIn.php <?php require_once "./TestCookieVariable.class.php"; ?> <html> <head> <title></title> </head> <body> <form action="./TestCookieOut.php" method="POST"> <input type="text" name="NAME" size="30" value="<?php print($_COOKIE[TestCookieVariable::COOKIE_NAME]); ?>"/><br/> <input type="submit" value="Exec." /> </form> </body> </html> -------------------------------- ・TestCookieOut.php <?php require_once "./TestCookieVariable.class.php"; setCookie(TestCookieVariable::COOKIE_NAME, $_POST['NAME'], time() + (60 * 60 * 24 * 7)); ?> <html> <head> <title></title> </head> <body> <?php print($_POST['NAME']); ?> <a href="./TestCookieIn.php">前の画面に戻る</a> </body> </html> -------------------------------- ・TestCookieVariable.class.php <?php class TestCookieVariable { const COOKIE_NAME = 'TestCookieVariable.COOKIE_NAME'; } -------------------------------- 確かにsetCookieや$_COOKIEのパラメータにクラス定数を使用するというトリッキー(?)なことはやっていますが、保存はできるのに読み出しができないというのが、色々調べたのですがよく分かりません。 詳しい方いらっしゃいましたら、どうかご教授下さい。 ちなみに環境は、Windows Vista Home Premium(SP2)+xampp for Windows 1.7.3です。 どうか宜しくお願い致します。

    • ベストアンサー
    • PHP
  • PHPのインストールができません

    PHPとApacheをインストールしてApacheは動作したのですが、PHPの動作確認でphpinfo() を行っても画面に「<?php phpinfo(); ?>」が表示されるだけでPHP情報が表示されません。 Windows7 professional PHP version:php-5.3.3-win32-vc6-x86.msi    インストール先:C:\PHP apache version:Apache 2.2.17      インストール先:C:\Program Files (x86)\Apache Software Foundation\Apache2.2 httpd.confには下記のものは追記済みです。 ServerRoot "C:/Program Files (x86)/Apache Software Foundation/Apache2.2" DocumentRoot "C:/Program Files (x86)/Apache Software Foundation/Apache2.2/htdocs" <Directory "C:/Program Files (x86)/Apache Software Foundation/Apache2.2/htdocs"> AddType application/x-httpd-php .php AddType application/x-httpd-php-souce .phps PHPIniDir "C:/PHP/" LoadModule php5_module "C:/PHP/php5apache2_2.dll" またphp.iniもshort_open_tag = Offになっています。 エラーログを見ましたが特にエラーは上がっていません。 いろいろなHPを見て調べたのですがわかりません。 インストールは主に下記のHPを参考にさせていただきました。 http://blog.livedoor.jp/yk_pointer/archives/65526007.html PHPについてはこれから勉強しようと思っているところですので むずかしいことはわかりませんが、何かヒントをいただければ 勉強しながら解決したいと思います すみませんがよろしくお願いします。

    • ベストアンサー
    • PHP
  • PHP文法エラーについて

    恐れ入ります。 下記PHP文法で、ブラウザに次のエラーが表示されます。「Notice: Undefined variable: _FORM in C:\xampp\htdocs\Step2Kadai\input.php on line 3」 該当PHP命令文は下記です。 <?php session_start(); $_SESSION['address'] = $_FORM['address']; ?> <!DOCTYPE html> <html> <head> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title>MF-02 input</title> <meta charset="utf-8"> </head> <body> <h1>MF-02 input</h1> <form action="mf_form.php" method="post"> <p>アドレス: <input type="email" name="address"> <input type="submit" value="送信"></p> </form> </form> </body> </html> 以上。エラーメッセージのline 3は、$_SESSION['address'] = $_FORM['address']; のところです。 ご指摘をよろしくお願い致します。

    • ベストアンサー
    • PHP
  • PHPでのクッキー

    PHPでクッキーを使い、下記のような入力フォームを作りました。 form.phpで入力→form2.phpで正常出力出来るのですが、 直接form2.phpへ飛ぶと、クッキーの値がなくなってしまいます。 setcokkieが、何の値もないのを上書きしていることは理解できるのですが、これを上書きせず回避?する方法はありますでしょうか? よろしくお願いします。 【form.php】 <?PHP parse_str($_COOKIE["city"]); parse_str($_COOKIE["city_name"]); ?> <html> <form method="post" action="form2.php"> <?PHP echo "名前1<input type=text name=name1 maxlength=16 size=12 value=$set_name1> <BR>ID<input type=text name=p1 maxlength=8 size=6 value=$set1><BR><BR>"; echo "名前2<input type=text name=name2 maxlength=16 size=12 value=$set_name2> <BR>ID<input type=text name=p2 maxlength=8 size=6 value=$set2>"; ?> <input type="submit" value="実行"> </form> </html> 【form2.php】 <?php $city1 = $_POST["p1"]; $city2 = $_POST["p2"]; $city_name1 = $_POST["name1"]; $city_name2 = $_POST["name2"]; setcookie ("city", "set1=$city1&set2=$city2",time()+3600*24*90); setcookie ("city_name", "set_name1=$city_name1&set_name2=$city_name2",time()+3600*24*90); parse_str($_COOKIE["city"]); parse_str($_COOKIE["city_name"]); echo $set_name1; echo $set1; echo $set_name2; echo $set2; ?>

    • ベストアンサー
    • PHP
  • PHP文法エラーについて

    はじめて、お世話になります。よろしくお願い致します。 プログラム文は後述致しますが、実行すると、ブラウザに下記エラーが表示されます。何のエラーで、どこを直せば、よいのでしょうか? Parse error: syntax error, unexpected ';', expecting ',' or ')' in C:\xampp\htdocs\Step2Kadai\kakunin.php on line 16 kakunin.php on line 16のところは、 echo htmlspecialchars($_SESSION['mail']; です。 [input.php] <?php session_start(); $_SESSION['address'] = $_REQUEST['address']; ?> <!DOCTYPE html> <html> <head> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title>MF-02 input</title> <meta charset="utf-8"> </head> <body> <h1>MF-02 input</h1> <form action="mf_form.php" method="post"> <p>アドレス: <input type="email" name="address"> <input type="submit" value="送信"></p> </form> </form> </body> </html> [mf_form.php] <?php session_start(); $_SESSION['mail'] = $_REQUEST['mail']; ?> <!DOCTYPE html> <html> <head> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title>MF-02 form</title> <meta charset="utf-8"> </head> <body> <h1>MF-02 form</h1> <p><a href="kakunin.php">確認<?php echo htmlspecialchars($_SESSION['mail']); ?></a></p> </body> </html> [kakunin.php] <?php session_start(); ?> <!DOCTYPE html> <html> <head> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title>MF-02 kakunin</title> <meta charset="utf-8"> </head> <body> <h1>MF-02 kakunin</h1> <p>アドレス: <?php echo htmlspecialchars($_SESSION['mail']; ?>) <?php </p> </body> </html> 以上です。よろしくお願い致します。

    • ベストアンサー
    • PHP
このQ&Aのポイント
  • イエローのヘッドが目詰まりしているため、プリンターからインクが出ません。どのような問題が発生しているか、お困りの経緯や試したことなどを教えてください。
  • お使いの環境はMac OS 10.13.6で無線LANに接続されています。関連するソフトやアプリについても教えてください。
  • 電話回線の種類はJCOMです。この問題を解決するためのアドバイスや対策などをお教えください。
回答を見る

専門家に質問してみよう