2015-09-26 75 views
-2

我的例子是,如果用戶選擇apple,它將只爲該用戶運行一次代碼。我的示例代碼:是否可以爲用戶只運行一次php代碼?

<?php 
/* 
id user_id category 
1   2  apple 
2   4  banana 
3   6  apple 
4   7  berry 
*/ 
$sql = $wpdb->get_results("SELECT category FROM $table_name WHERE user_id=1"); 
foreach($sql as $value) { 
    $category = $value -> category; 
    if ($category == 'apple') { 
     //code here only run once 
    } else { 
     //code will run as many as time if the user click 
    } 
} 
?> 

回答

1

您可以設置像一個會話變量:

foreach($sql as $value) { 
    if($value->category == "apple" && !isset($_SESSION["yourvarname"])) { 
     //run your code once 
     $_SESSION["yourvarname"] = 1; 
    } 
    else { 
     //run your code many times 
    } 
} 
+0

原諒我我的無知。如果用戶使用不同的計算機或清除cookie,那麼$ _SESSION [「yourvarname」] = 1仍然存在。 – conan

+0

@conan,在那種情況下,你會如何知道它是同一個用戶?除非用戶登錄到您的站點,否則幾乎不可能確定。 – rnevius

+0

是的,我會要求用戶登錄。我認爲最好的方法是在數據庫表中創建一列並存儲它? – conan

相關問題