PHP:会话仅在刷新页面后才起作用

时间:2016-02-29 12:37:51

标签: php mysql

我正在创建使用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 );
 }

我无法理解为什么。

1 个答案:

答案 0 :(得分:0)

我认为会话正在运行,但您的浏览器会显示一个缓存页面,当您刷新它时,它会更新页面。