2012-08-29 67 views
3

我想讓用戶可以在網上投票我的一些圖片。保存一個變量從服務器

我正在用HTML,JavaScript和PHP編寫我的所有代碼。

當用戶按下投票按鈕時,計數爲1。然後當用戶刷新頁面時,我想繼續投票,所以它仍然會說1,而不是重置爲零。

我的問題是,我該怎麼做?

我發現我無法在我的服務器上使用javascript fileIO。

我嘗試了一些PHP,但大多數我的代碼是在JavaScript中,我無法弄清楚如何從JavaScript函數執行一些代碼。

我想到的是這樣的:

<body onload="opstart();"> 

當身體被加載,我調用JavaScript函數。我可以在這裏調用一些PHP嗎?

// Get number of votes from txt file 
function opstart() 
{ 

} 

在這裏面,我正在考慮從文本文件中讀取數據並將其加載到變量中,並保存投票數。

+0

爲什麼PHP *和*的Java?此外,您也使用JavaScript。 – Bergi

+0

爲了接受一個投票,你應該能夠以某種方式識別用戶:http://stackoverflow.com/questions/2495749/how-to-identify-unique-user – VirtualTroll

回答

1

爲什麼您將這些值存儲在文本文件中。他們應該在一個數據庫中,你可以很容易地用PHP取出它們。這將爲您節省大量的時間是更好的做法。

您將需要一個帶有每個用戶ID的用戶表,每個圖像帶有一個ID的圖像表以及投票表決哪個圖像ID的投票表記錄。然後,您只需對投票的每個投票的票數進行計數,並阻止某人投票兩次,您可以檢查他是否已投票!

See this answer for more details

+0

如果這是一個OP的小方項目,那麼有時,擁有大型數據庫非常麻煩。對於一個簡單的解決方案,如果網站沒有得到很多命中,平面文件也是一個很好的解決方案! (減少CPU負載和代碼行) – dcbarans

0
  1. 創建一個PHP網頁,其中接受你的計數,並存儲在數據庫中的 「運行開始」 功能
  2. 使得Ajax調用。

你可以學習下面的教程

http://net.tutsplus.com/tutorials/html-css-techniques/building-a-5-star-rating-system-with-jquery-ajax-and-php/

+1

在這種情況下,如果正在刷新頁面,則不需要使用ajax。 – yehuda

+0

根據問題,頁面不刷新點擊提交表決按鈕 – Tarun

+0

@ fluty你在說什麼,我引用,'然後,當他使用刷新頁面,我想保留投票,所以它仍然會說1,而不是重置爲零。 我的問題是,我該怎麼做?' – yehuda

0

你可以使用如下形式:

var feature_form =new Ext.form.FormPanel({ 
     id: "featureInfo_panel", 
     url: 'myfile.php', 
     autoDestroy:true, 
     frame: true, 
     width: 410, 

其中 'myfile.php' 指向名字的PHP的位置你想傳遞/獲取數據。 php可以很容易地從那裏拖動文本文件......

0

我認爲你沒有一個合適的數據庫,你只想使用文本文件。使用Ajax在文本文件中寫入完成投票計數的最後數目。代碼看起來像這樣。

CODE

$.ajax(function(){ 
    url:"voteup.php" //here you wrtie some function in php which takes care of file I/o 
    data:{votecount:9}//last vote count 
    success:function(){alert("success");} 
    }); // this function should to write new votes in your text file using ajax. 

我們讀身體的onload當前票。您已經調用了不同的Ajax方法來讀取該文本文件並獲得當前的投票計數。

CODE

function opstart() 
{ 
$.ajax(function(){ 
     url:"getvotes.php" //here you wrtie some function in php which takes care of file I/o 

     success:function(){alert("success");} 
     }); // this function should to read current votes in your text file using ajax. 

} 
+0

我沒有選擇如何保存數據,因爲這個字段與HTML,PHP和JavaScript是我不知道的。但數據庫聽起來像個好主意。我會試着看看,謝謝。 – Pavenhimself