日本PHPユーザ会 掲示板

日本PHPユーザ会運営の掲示板です。※ただいまテスト運用中です。

日本PHPユーザ会 掲示板 » PHP事はじめ » クッキーの発行ができません。

クッキーの発行ができません。

ページ: 1

投稿者 投稿
会員
登録者: 3 2009
返信数: 10
お世話になります。
最近、phpの勉強をし始めたのですが、
Warning: Cannot modify header information - headers already sent by (output started at C:\Program Files\xampp\htdocs\test\cookie1.php:1) in C:\Program Files\xampp\htdocs\test\cookie1.php on line 1
とIE7ブラウザに表示され、正常に動作ができません。 :(
書籍の通りに入力して実行したのですが、何が間違っているのかわかりません。
どうかよろしくお願いします。 :'(

以下が、cookie1.phpの内容です。
<?php setcookie('val', 100); ?>
<HTML><BODY>
<?php
$getval=$_cookie['val'];
print "ページ1の値は $getval です。<BR>";
?>
<A HREF='cookie2.php'>ページ2へ</A>
</BODY></HTML>
管理者
登録者: 10 2005
返信数: 7
$_cookieではなく,$_COOKIEです.
基本的に$_ではじまるスーパーグローバル変数の変数名はすべて大文字です.
会員
登録者: 3 2009
返信数: 10
書籍の発行している出版社のホームページからサンプルデータがあり、こちらからダウンロードして使用してみましたら、正常に表示されました。このサンプルデータのファイルの中をコピーして、テキストエディタに貼り付けて実行すると、同様のWarningメッセージが表示されてしまいます。試しに、サンプルデータのファイルと同じエンコードSJISに変更してsaveし実行しましたら、正常に表示されました。
それまでは、UTF-8を使用して問題なく出来ていたのですが、cookieのところでは正常に表示がされません。なぜなのでしょうか?
会員
登録者: 3 2009
返信数: 10
haltさま、返信ありがとうございます。
スーパーグローバル変数の変数名はすべて大文字ですね。わかりました。
今まで、大文字/小文字をあまり区別することなく使用していました。
ところで、先ほどの質問ですが、SJISに変更しましたら正常に表示がされましたが、
なぜUTF-8ではWarningが表示され正常に実行されないのでしょうか?
よろしくお願いします。
管理者
登録者: 10 2005
返信数: 7
おそらくですが,BOM付きUTF-8で保存していませんか?
以下のサイトが参考になります.

http://oubakiou.blog8.fc2.com/blog-entry-69.html
会員
登録者: 3 2009
返信数: 10
確かにBOM付きUTF-8で保存してありました。
今、BOMなしUTF-8に変更して実行し、IE7で表示ができました。
ただし、IE7のエンコードをUTF-8に変更しないとだめです。
IE7の日本語(自動選択)の状態で、正常に表示させるにはどのようにしたらよろしいのでしょうか?
HTMLで何かを追加する必要があるのでしょうか?あれこれ質問で申し訳ございません。
会員
登録者: 3 2009
返信数: 10
わかりました。<METAでcharset指定しましたら、自動的に選択できるようになりました。
haltさま、疑問にお答えいただきありがとうございました。
色々と勉強になりました。また、こちらに伺うときもあると思いますので、よろしくお願いします。

ページ: 1

日本PHPユーザ会 掲示板 » PHP事はじめ » クッキーの発行ができません。

日本PHPユーザ会 掲示板 は UseBB 1 フォーラムソフトウェア を使用しています