[PHP-users 28855] Re: PHPでクッキーに保存した値をJavaで読み込む

鈴木満恵/RealComs muramatsu @ realcoms.co.jp
2006年 3月 28日 (火) 06:32:28 JST


さわださん

有難うございました!
できました!!!

今回・・・
元々phpで作られているサイトに、一ページだけhtmlのページを追加して、全ページ共通で
こんにちは花子さんを表示させたい、ということで調べていました。
そもそも「PHPでcookieを設定してブラウザのみで読む」方法以外に方法が
あるのかもしれません・・・。

#まさか、顧客情報がcookieに生で入るとか、そんなあり得ない話ではないですよね? 

・・・この部分も併せて、再び検討します。(^^;

もし可能でしたら「そもそもの方法」についても、ご教示いただけると、大変助かります。

有難うございました。

----- Original Message ----- 
From: "Shu Sawada" <luna @ lunanet.gr.jp>
To: "PHP-users ML" <php-users @ php.gr.jp>
Sent: Tuesday, March 28, 2006 2:44 AM
Subject: [PHP-users 28851] Re: PHPでクッキーに保存した値をJavaで読み込む


>
> さわだです。
>
>> ■PHPで保存する部分
>> ===================================
>> $name="花子";
>> setcookie("name",$name),time() + 7200);
>> ===================================
>
> とりあえずこれ、Parse errorになりますよね。
> 試しているプログラムをコピペするようにするとナイスかと思います。
>
>> ■Javaで表示する部分
>
> 更に細かいこと言いますが、Javascriptです。Javaとは別物だと思います。
>
>> ■「document.write("こんにちは",unescape(name));」としたときの結果
>> =======================
>> こんにちは%B2%D6%BB%D2
>> =======================
>
> 例によって、PHPでcookieを設定してブラウザのみで読む、ということをやった
> 記憶がないので間違ったことを言っている可能性があります。ごめんなさい。
>
> それで、この理由は説明するのが大変な気がします。
> 以下のページが良くまとまってると思います。
> http://www.cresc.co.jp/tech/java/URLencoding/JavaScript_URLEncoding.htm
> JSPを前提として書いているようですが、この話について言えばまあ関係ないかと。 
> 
>
> このページをふまえて、結局PHPではどうすればいいかという話ですが、
>
> $name="花子";
> $name = mb_convert_encoding( $name, "UTF-8", "EUC-JP");
> setcookie("name",$name,time() + 7200);
>
> みたいにしてcookieを設定してやって、表示ロジックではunescape()ではなく、
> 上記URLの6章に掲載されている function decodeURL(str) を使ってあげると
> 良いと思います。
>
> document.write("こんにちは",decodeURL(name));
>
> みたいに。
> ただし、このdecodeURL()は、ライセンス的にどうなのかわかりません。
> というか、お仕事で使うのは確実にアウトっぽい感じですので、そこら辺は
> 対価を払うなり自作するなりして何とかする必要があるんじゃないかと思います。
> なお、decodeURI(), decodeURIComponent() でも大丈夫といえば大丈夫な気が
> するんですが、
>
> $name="一太郎++ ;";
>
> のときに、
>
> document.write("こんにちは"+decodeURI(name)+"<BR>");
> document.write("こんにちは"+decodeURIComponent(name)+"<BR>");
> document.write("こんにちは"+decodeURL(name)+"<BR>");
>
> をすると、
>
> こんにちは一太郎%2B%2B+%3B
> こんにちは一太郎+++;
> こんにちは一太郎++ ;
>
> になります。
> どれが良いかはお好みで。
>
> と、ここまで書いておいてなんですが、そもそもPHPでページを出力してあげれば
> 一生懸命Javascriptでcookieを読む必要が無くなるんじゃないかと思うんですが、
> それじゃダメなんでしょうか?
>
> print "<script language=\"Javascript\">\n";
> print "var name=\"" . $_COOKIE["name"] . "\"\n";
> print "document.write(\"こんにちは\"+name);\n";
> print "</script>\n";
>
> みたいな感じで。
> 僕がこういうことをやったことがないというのは、そもそもJavascriptで
> 表示しなければならない状況になったことがないから、という理由だったりします。 
> 
> Ajax方面では必要だったりするんでしょうか…?
>
> -- 
> Shu Sawada
> http://luna.lunanet.gr.jp/
> _______________________________________________
> PHP-users mailing list  PHP-users @ php.gr.jp
> http://ns1.php.gr.jp/mailman/listinfo/php-users
> PHP初心者のためのページ - 質問する前にはこちらをお読みください
> http://www.php.gr.jp/php/novice.php3
>
>
> 



PHP-users メーリングリストの案内