2010-08-04 119 views
0

我正在嘗試爲朋友構建一個小框架,每次按下某個按鈕時都會播放某個動畫。他想要一種方法來統計點擊按鈕的次數,但我似乎無法得到該部分的工作。我究竟做錯了什麼?所有的Button在PHP中單擊計數器

<?php 

    if(isset($_POST['mushu'])) 
    { 
    echo "Working."; 
    playAnimation(); 
    clickInc(); 
    } 

    function playAnimation() 
    { 
    /* ... */; 
    } 

    function clickInc() 
    { 
    $count = ("clickcount.txt"); 

    $clicks = file($count); 
    $clicks[0]++; 

    $fp = fopen($count, "w") or die("Can't open file"); 
    fputs($fp, "$clicks[0]"); 
    fclose($fp); 

    echo $clicks[0]; 

    } 
?> 

<html> 

    <head> 

    <title>Adobe Kitten</title> 

    </head> 

    <body> 

    <form action="<?php $_SERVER['PHP_SELF']; ?>"> 
    <input type="button" 
      value="Let's see what Mushu is up to." 
      name="mushu"> 
    </form> 

    </body> 
</html> 
+0

什麼不起作用?任何錯誤給出?或者它只是不增加你存儲的數量? – 2010-08-04 21:20:56

+0

目前,該文件未打開。之前,問題是按鈕單擊時根本沒有發生任何事情。 – Andy 2010-08-04 21:54:07

回答

2
<form action="<?php $_SERVER['PHP_SELF']; ?>" method="post"> 
    <input type="submit" 
      value="Let's see what Mushu is up to." 
      name="mushu"> 
</form> 

首先使用形式方法= 「後」,或在你的腳本更改$ _ POST []到$ _GET []。

如果你的按鈕不是提交按鈕,那麼你沒有提交表單。所以我改變了type =「button」type =「submit」。

應工作

+0

這有助於解決問題,但現在出現錯誤「無法打開文件」。 – Andy 2010-08-04 21:49:32

+0

您必須創建一個名爲clickcount.txt的空文件。 – ahmet2106 2010-08-04 21:54:12

+0

「無法打開文件」意味着沒有名爲clickcount.txt的文件,因此無法打開它來讀取和寫入它。如果你手動創建文件,它可以重寫它;) – ahmet2106 2010-08-04 21:55:09

0

這將有助於瞭解錯誤,但在黑暗中拍攝 - 這可能是有寫入權限的問題?

還,更改爲:

<input type="submit" value="Let's see what Mushu is up to." name="mushu" /> 
1

的代碼看起來不錯,我測試,它爲我工作。我建議:

  • 確保文件不是隻讀的。
  • 確保文件名稱爲「clickcount.txt」
  • 確保它與您的腳本位於相同的文件夾中。