2011-10-10 54 views
0

最初,$ number = 0.第一次點擊Add按鈕後,數值變爲10.第二次點擊時,數值變爲20.第三次爲30,第四次爲40。保持增值php

下面是我的代碼,有沒有人知道如何解決它?謝謝!

<?php 
     $number = 0; 
     if(isset($_POST['add'])){ 

      $number = $number +10; 
     } 
?> 
<html> 
    <head> 

    </head> 
    <body> 
     <form method="post" action="<?php echo $_SERVER['SCRIPT_NAME']; ?>"> 
      <?php echo $number; ?> 
      <input type="submit" name="add" value="Add" /> 
     </form> 
    </body> 
</html> 

回答

1
<input type="hidden" value="<?php echo $number ?>" name="number" /> 

現在變化$ _POST ['add']到$ _POST ['number'] 和$ number = $ _POST ['number'] + 10;

0

使用session變量保留每個頁面的請求值。一旦腳本完成執行,簡單變量值就會被銷燬。會話變量將保持該值。

瞭解更多關於session

或使用該數據庫。

0

您需要以某種方式保存該值。您可以使用數據庫,如MySql,也可以將該值保存在會話變量中。

1

這是PHP如何工作的基礎。

請求之間沒有「狀態」。這意味着每一個請求都會被遺忘。所以如果你想保留數據,你必須把它存儲在某個地方。

幾個選項:

  • 數據庫如MySQL
  • 會話
  • 一個cookie
  • 緩存系統,如APC
1

首先,你的PHP需要一點點調整:

<?php 
    $number = ($_POST['add'] != '') ? 0 : $_POST['add']; 
    $number += 10; 
?> 
<html> 

然後添加<input type="submit">上方的隱藏的輸入,像這樣:

<input type="hidden" name="add" value="<?php echo $number; ?>">