1

在我的 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']++;

}
4

2 回答 2

2

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

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

if (!isset($_SESSION['countval'])) $_SESSION['countval']=0;
于 2013-08-01T03:25:28.340 回答
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']++;
   }
于 2013-08-01T03:26:39.100 回答