www.abc.com のようなドメインを持つライブ サーバーでホストされているプロジェクトがあります。
ライブ ドメイン: IE (7、8、9、10) で Cookie を設定できません - 以下のコードで説明されているように (Cookie は IE ブラウザーで有効になっています)、Firefox、Chrome では Cookie を設定できます。 、Opera および Safari では問題ありません。サーバー時間は正確です(ヨルダンの現在時間)
ローカルホスト上: Cookie はすべてのブラウザーで完璧に機能しています!
私のコードは以下のように正確に説明されました:
ページ「localhost/test.php」に、ライブサーバーにある show.php の内容を読み取るために以下のコードを追加しました。
<?php foreach (file('http://abc.com/api/show.php') as $o) echo $o ?>
ページhttp://abc.com/api/show.php :
<script>
function hookscript(url){
var s = document.createElement("script");
s.type = "text/javascript";
s.src = url || null;
document.getElementsByTagName("head")[0].appendChild(s);
}
hookscript('http://abc.com/aj/ajax.php?part=1');
</script>
ページhttp://abc.com/aj/ajax.php :
function hookscript(url){
var s = document.createElement("script");
s.type = "text/javascript";
s.src = url || null;
document.getElementsByTagName("head")[0].appendChild(s);
}
<?php
$part = $_GET['part'];
?>
<?php
if($part==1){
?>
<?php setcookie('test',time(),time()+3600) ?>
hookscript('http://abc.com/aj/ajax.php?part=2');
<?php
}
if($part==2){
if(isset($_COOKIE['test'])){
?>
alert('Cookies SET');
<?php
}
else{
?>
alert('Cookies NOT SET'); // WHY!
<?php
}
}
?>
ヒントをいただければ幸いです。ありがとうございました!