无法自动增加会话值

时间:2013-08-01 03:21:28

标签: php mysql wordpress session

在我的wordpress项目中,我想在感谢页面运行一个mysql查询,当用户一次只被重定向到它时。但是当用户刷新它时,它不应该运行。我创建了一个会话变量,并采用以下方式。但它没有用。有人可以帮助我。

session_start();
$_SESSION['countval']=0;

if($_SESSION['countval']==0){

     $wpdb->insert('wp_user_points',
                   array('user_id' =>$current_user->ID , 
                         'order_id'=>$order_id,
                         'product_sku' =>$new_sku,
                         'pv'=>$points,
                         'added_on'=>date("Y-m-d  H:i:s"),
                         'payment_method'=>$order->payment_method_title,
                         'payment_statues'=>'pending'
                        )
                  );
     $_SESSION['countval']++;

}

2 个答案:

答案 0 :(得分:2)

你似乎每次都要重置你的计数器。而不是这行代码 $_SESSION['countval']=0;

确保您只通过测试一次设置它以查看它是否已设置。

if (!isset($_SESSION['countval'])) $_SESSION['countval']=0;

答案 1 :(得分:1)

因为您在第一行设置了$_SESSION['countval']=0;。 使用此代码:

session_start();
if(!isset($_SESSION['countval']))
   $_SESSION['countval']=0;

if($_SESSION['countval']==0){

     $wpdb->insert('wp_user_points',
                   array('user_id' =>$current_user->ID , 
                         'order_id'=>$order_id,
                         'product_sku' =>$new_sku,
                         'pv'=>$points,
                         'added_on'=>date("Y-m-d  H:i:s"),
                         'payment_method'=>$order->payment_method_title,
                         'payment_statues'=>'pending'
                        )
                  );
     $_SESSION['countval']++;
   }