2016-02-29 142 views
0

我正在創建使用PHP將產品添加到購物車的代碼。 下面的腳本可以正常工作,但添加的產品只有在刷新頁面後才能顯示。PHP:會話僅在刷新頁面後才起作用

if (isset($_GET[ 'add' ])) { 

    $query = query("SELECT * FROM products WHERE id = " . escape_string($_GET[ 'add' ])); 
    confirm($query); 

    while ($row = fetch_array($query)) { 
     if ($row[ 'quantity' ] != $_SESSION[ 'product_' . $_GET[ 'add' ] ]) { 
     $_SESSION[ 'product_' . $_GET[ 'add' ] ] += 1; 
     redirect($url); 

     } else { 
     $session->message("We only have " . $row[ 'quantity' ] . " " . $row[ 'title' ] . " available"); 
     redirect($url); 
     } 
    } 
    } 

這是查詢功能:

function query($sql) { 
    global $connection; 

    return mysqli_query($connection, $sql); 
    } 

這是非常簡單的重定向功能:

function redirect($location) { 
    return header('Location:' . $location); 
} 

我不明白爲什麼。

+0

試試這個:redirect($ url); exit; –

+0

我們無法看到您的重定向功能。 –

+0

我們也不知道會話變量是什麼,請確認一個本地函數?我以前沒看過那個。 它可能不會正確重定向,就像其他評論者所建議的那樣。這可能是因爲重定向功能出錯或輸出之前發生了等。 –

回答

0

我認爲會話正在工作,但您的瀏覽器顯示一個緩存頁面,當您刷新它時,它會更新頁面。

+0

嗨山, 感謝您的回答。你有什麼想法如何解決這個問題? – Daniel

+0

不客氣。試試[這](http://stackoverflow.com/questions/13640109/how-to-prevent-browser-cache-for-php-site) –

+0

嗨山, 感謝您的鏈接。不幸的是,這個問題還沒有解決。 – Daniel