2012-10-22 180 views
0

一個cookie我創建一個PHP文件,order.php其如下所示無法讀取使用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') ; 

} 
?> 

,你可以看到腳本獲取價值,爲「規劃」用該數據來創建一個cookie ur其值爲http://techbr.duoservers.com/hosting-order/?plan=44其中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。但是,當我運行一個簡單的<?php print_r($_COOKIE); ?>顯示cookie的正確值。最重要的是,如果我手動加載signup.php頁面加載就好了。但是,當它使用重定向命令自動加載時,它無法讀取cookie。任何想法有什麼不對?我想補充一點的代碼中使用就好了約1個月前就停止工作,一下子

回答

2

您無法讀取並已爲其他網址/路徑下創建一個cookie的工作:

你創造您的Cookie只對目錄http://techbr.duoservers.com/hosting-order/(因爲你被遺漏的set_cookie函數的第四個參數path,PHP選擇當前目錄,見下文報價)

和嘗試訪問它的另一個問題:http://cheap-webhosting.co.in/

你可以不這樣做..你必須強迫這個例如,cookie路徑參數爲「/」。

看到了PHP文檔:

路徑:

其中的cookie將可在服務器上的路徑。如果 設置爲「/」,則Cookie將在整個域中可用。如果 設置爲'/ foo /',則cookie將僅在/ foo/ 目錄和所有子目錄(如/ foo/bar/of域)中可用。 的 默認值是當前目錄該cookie被設置在

源:http://php.net/manual/en/function.setcookie.php