ページが機能しないため、テストとして簡単なコードを使用しています。私はこの問題についてグーグルを持っていて、ここで検索しましたが、誰もそれについて言及していないようです! 私が読んだクッキーのtutsでも!
シンプルな setcookie php 行のコードがあります。
<?php
if($_COOKIE['PHP1'] !== 'php'){
$blah = setcookie('PHP1','php',time() + (1000 * 120),'/','',false,false);}
?>
html の前のページの上部にあり、Cookie PHP1 を php に設定します。
次に、本文にいくつかのコードがあります。
<?php
if($blah){echo 'PHP1 has been set';}
else {
echo 'cookie php1 = ' . $_COOKIE['PHP1'];}
?>
Cookie が設定されているかどうか、設定されている場合はその値を教えてください。まっすぐ進み、うまく機能します...
(ページには jquery と jquery プラグイン :COOKIE: がリンクされています;) 次に、コンソールを使用して Cookie の値を確認し、Cookie プラグインで値を変更します。コードは次のとおりです。
$.cookie('PHP1');
--"php"
$.cookie('PHP1','javascript', { expires: 7, path: '/' });
--"PHP1=javascript; expires=Sat, 09 Mar 2013 19:00:57 GMT; path=/"
$.cookie('PHP1');
--"javascript"
ここまではすべて問題ないので、ページを更新すると、予想どおり PHP1 が設定されていることがわかります。次に、php1 = php であることを期待してもう一度更新しますが、PHP1 が設定されていると表示され続けます。
PHP1 の値を表示するためだけに PHP コードを編集すると、PHP1 の値が JavaScript であることがわかりますか?
私はここで何か間違っていますか?それとも、javascript が改ざんされた後、php で Cookie を編集できないだけですか? (セキュリティのせいかな?)
Cookie 自体は、ログインや安全な機能のためのものではなく、アクセシビリティ、テキスト サイズ、色覚異常の設定に使用されるだけです。何らかの理由でjavascriptが無効になっている/無効になっている場合に備えて、両方を使用できるようにしたいと思います!
前もって感謝します
編集
OK、Chrome でローカルホストの Cookie を確認しましたが、PHP1 Cookie が 2 つあります。
Name: PHP1
Content: php
Domain: localhost
Path: /
Send For: Any kind of connection
Accessible to Script: Yes
Created: Saturday, 2 March 2013 19:01:21
Expires: Monday, 4 March 2013 04:21:21
Name: PHP1
Content: javascript
Domain: localhost
Path: /Cookie_test
Send For: Any kind of connection
Accessible to Script: Yes
Created: Saturday, 2 March 2013 18:50:08
Expires: When the browsing session ends
2 つ目の /Cookie_test パスは JavaScript だと思います! これが問題である場合、javascriptがパスをディレクトリではなく「/」として書き込むようにするにはどうすればよいですか? 私のコードからわかるように、「/」としてパスを指定しましたか?
実際には、phpで行ったように5番目のオプションを追加していないためですか??