2014-03-13 79 views
0

我創建了一個名爲「Generate」的按鈕,當執行單擊事件時,它應該在達到60秒後啓動一個計時器,它應該執行一條if語句。我嘗試了下面的代碼,但它不工作。如何在php中延遲一段時間後執行一個函數?

if(isset($_POST['generate'])) 
     { 
     $timer = time(); 
     if($timer = $timer+5) 
     { 
     $query = mysql_query("UPDATE user_login SET password='' WHERE username = 'ajai sandy'") ; 
        $qry_run = mysql_query($query); 
     } 

在上面的代碼中,我已經使用系統時間,我可以同時使用系統時間或定時器來完成此操作。

回答

1
if(isset($_POST['generate'])) 
     { 
     sleep(60); 
     // AND NOW action; 
     } 

而要用JS ...

+1

對不起,讓我改寫我的問題就像一個會話一旦點擊按鈕它應該等待60秒後它應該刪除數據庫中存在的varchar –

0

你不應該在服務器端做到這一點! 但是你可以用PHP的sleep()方法來做到這一點。

+0

使用jQuery將是: $( 「按鈕」)點擊(函數(){ window.setTimeOut(函數(){// 你想 什麼都},5000) }); – stetro

0

你想要嗎?如果在60秒之後表現「如果」?然後,你需要使用睡眠()

if(isset($_POST['generate'])) 
    { 
    sleep(60); 
    if(condition) 
    { 
    // todo 
    } 
+0

我不想使用睡眠()函數,我應該設置一個會話或計時器後60秒週期結束它應該刪除數據庫中的密碼varchar。我已經改寫了我的問題,請參閱更多信息 –

+0

所以你將需要使用JavaScript,因爲PHP不能這樣工作。 60秒後,javasript可以啓動PHP文件(類似CRON)。我建議使用jQuery。 – debute

+0

對不起,我沒有關於jQuery的知識,你可以指出我的代碼類似於我的查詢? –

0

你只是需要首先檢查當前時間,那麼之後你需要使用睡眠

if(isset($_POST['generate'])) 
     { 
     $timer = time(); 
    sleep(5) 

     //your condition 

,或者你可以使用這個與客戶端腳本lanugage爲還有有一個函數的setTimeout

window.setTimeout(FUNCTION_NAME,60); 
相關問題