以下に示すphpファイルorder.phpを作成しました
<?php
$plan=$_POST['plan'];
$expire= time()+60*60;
if (empty($plan))
{
echo '<p align="center">You did not select any plan.</p>';
}
else
{
$str1= "http://techbr.duoservers.com/hosting-order/?plan=";
$ur=$str1.$plan;
usleep(1500);
setcookie("ur", $ur, $expire);
header( 'Location: http://cheap-webhosting.co.in/signup.php') ;
}
?>
ご覧のとおり、スクリプトは「計画」の値を取得します。そのデータを使用して、 http://techbr.duoservers.com/hosting-order/? plan =44という値を持つCookie を作成します。ここで、44 は計画です。値を指定してから、ページ signup.php にリダイレクトします。signup.phpのコードを以下に示します。
<?php
$ur = $_COOKIE['ur'];
echo "<iframe frameborder='0'";
echo 'src="';
echo $ur;
echo '" width="100%" height="1100px"></iframe>';
?>
何らかの理由で、order.php ファイルにプラン値を渡すと、Cookie が作成されますが、order.php のリダイレクト コマンドのために自動的に読み込まれる signup.php は、Cookie ur を読み取ることができません。ただし、単純な<?php
print_r($_COOKIE);
?>
クッキーを実行すると、正しい値が表示されます。その上、signup.php を手動で読み込むと、ページは問題なく読み込まれます。ただし、リダイレクト コマンドを使用して自動的に読み込まれる場合、Cookie を読み取ることができません。何が間違っているのですか?1 か月ほど前には問題なく動作していたコードが、突然動作しなくなったことを付け加えておきます。