2013-03-06 103 views
0

Session變量之後頭重定向即使我用session_start(); in All PagesSession變量重定向失去

這裏我的代碼..

<?php 
session_start(); 
$id=$_REQUEST['id']; 
$pid=$_POST['pid']; 
$_SESSION['pid']=$_POST['pid']; 

放入購物車功能

include("cart/functions.php"); 
if($_REQUEST['command']=='add' && $_REQUEST['id']>0){ 
$id=$_REQUEST['id']; 
addtocart($id,1); 
header('location:shoppingcart.php'); 
exit(); 
} 

點擊此按鈕後$ _SESSION ['pid'] = $ _ POST ['pid'];`從所有頁面消失?

<input type="button" class="button1" value="Add To Cart" 
onclick="addtocart(<?php echo $row3['id']?>);" /> 
</div> 
</div></form> 
+0

因爲你不張貼每一頁'$ _SESSION [ 'PID'] = $ _ POST [ 'PID'];'會可能有時候不會正確觸發,從而導致存儲在會話中的數據被破壞,從而無法在其他代碼段中驗證。啓用'error_reporting()',你可能會看到什麼是錯的:) – 2013-03-06 23:42:23

回答

1

header('location:shoppingcart.php');是強制重定向,根本沒有開機自檢時出現這種情況,太行$_SESSION['pid']=$_POST['pid'];將會沒有任何效果。如果您必須執行無Cookie會話,請查看use-trans-sidhttp://www.php.net/manual/en/session.configuration.php#ini.session.use-trans-sid

+0

謝謝我已經做到了,但你能給我解決這個問題 http://stackoverflow.com/questions/15357372/in-php-for -loop-showing-only-one-row-from-mysql-database?noredirect = 1#comment21697702_15357372我現在正面臨同樣的問題 – 2013-03-12 14:23:56

0

您可能在每個請求中設置$_SESSION['pid'] = $_POST['pid'] - 即使您的POST甚至沒有pid也可以。

試圖改變這種

$_SESSION['pid']=$_POST['pid']; 

這個

if (isset($_POST['pid'])) { 
    $_SESSION['pid'] = $_POST['pid']; 
}