2013-07-05 46 views
3

嗨,我在PHP新開始學習。我想,當提交按鈕被按下遞增變量值與。PHP遞增變量值時提交

我的代碼:

<?php 
    $i=0; 
    if($_POST['submit']){ 
     echo $i+1; 
    } 
?> 

感謝

+1

你需要存儲變量的地方,比如頁面之間的最後一個值。文件,數據庫甚至會話。你在做什麼總是會顯示'1'。 – vee

+0

@vinodadhikary謝謝,我會嘗試:) – Manan

+1

這個腳本運行後,變量$ i是釋放內存(又名就不見了)。下次執行腳本時,PHP不知道$ i是什麼,直到您設置$ i = 0。所以當你點擊提交時,它總會回顯1。 –

回答

0
var_dump($IsPost = !strcasecmp($_SERVER['REQUEST_METHOD'], 'POST')); 

^告訴你,如果它是一個職位。

echo ++$i; 

^增量$I,然後打印$I

echo $i++; 

^打印$I然後遞增$I

empty($_POST['submit']); // or isset($_POST['submit']); 

^告訴你,如果存在$_POST['submit'],恕不另行通知。

4

你變量$我應該存儲在會話例如,所以當你提交表單也不會失去它的價值。 (您可以檢查這個答案Is PHP or PHP based web framework stateful or stateless?

此外,當執行腳本時,你要做的第一件事是$i = 0;所以每當你執行它,重新初始化變量爲0

session_start(); 

// if your variable is not yet defined, you assigned it with 0 
if (isset($_SESSION['myVariable'])) 
{ 
    $_SESSION['myVariable'] = 0; 
} 

if($_POST['submit']) 
{ 
    echo $_SESSION['myVariable'] +1; 
} 
0
<?php 
if(!isset($_SESSION['i'])) $_SESSION['i'] = 0; 
if(isset($_POST['submit'])){ 
    $_SESSION['i']++; 
} 
echo $_SESSION['i']; 
?> 
1
<?php 
session_start(); 

    if($_POST['submit']){ 
     $_SESSION['i'] = isset($_SESSION['i']) ? ++$_SESSION['i'] : 0; 
     echo $_SESSION['i']; 
    } 
?> 

這會記得