2016-08-17 117 views
1

我有一個腳本,當某個按鈕被按下時,它將+1或-1加到變量上。 「+1」按鈕可以很好地工作,但當變量的值爲「10」時(也可能是其他值),「-1」按鈕會變爲奇數。當我點擊按鈕時,不顯示「9」,而是顯示「90」。計算按鈕點擊次數的PHP腳本

PHP:

<?php 
$myfile = fopen("response.txt", "r+") or die("Unable to open file!"); 
$currentvalue = file_get_contents("response.txt"); 
$currentvalue = $currentvalue -1; 
fwrite($myfile, $currentvalue); 
fclose($myfile); 
header('Location: otherfile.php') ; 
?> 

HTML

<form method="post" action="minus.php"> 
<button> Remove one </button> 
</form> 

我知道有這項任務更好的方法,但上面的代碼是我能想出,考慮到我的基本知識最好PHP。

謝謝。

回答

1

發生這種情況是因爲您在r+模式下打開文件。這不會截斷文件,因此當您寫入「9」時,將覆蓋「10」中的「1」,而該文件中的第二個字符仍然爲「0」。這給你「90」。

通過不使用fopen,fwritefclose解決此問題:刪除這些語句。而是用file_put_contents寫出結果:

$currentvalue = file_get_contents("response.txt"); 
$currentvalue = $currentvalue - 1; 
file_put_contents("response.txt", $currentvalue); 
+0

感謝您的快速響應,它的工作原理。 – C10H15N