2012-04-26 82 views
1

您好我正在建立一個視頻投票網站,允許對視頻進行投票。我希望用戶能夠在不中斷視頻播放的情況下進行投票。我需要創建一個「投票」按鈕,不刷新頁面

這裏是我正在使用的剪輯。

if ($_POST['vote']) { 
    $sql = mysql_query("UPDATE videos SET vid_votes=vid_votes+1 WHERE vid_id=$vid_id"); 
} 
$votebutton ="<form action='index.php?id=$vid_id' method='post' enctype='multipart/form-data'><input name='vote' type='hidden' id='vote' value='$vid_id'><input type='submit' name='Submit' value='Vote for it!' /></form>"; 

我根據是否已登錄的投票者今天投票的查詢來回應投票或不投票。

此腳本記錄投票並將用戶返回到他正在觀看的視頻。 如果用戶已在一天內投票,更多腳本會將其更改爲unvote按鈕。不過,我主要關心的是如何在不重新啓動視頻的情況下讓此按鈕運行腳本?

+1

這與PHP/MySQL確實沒有任何關係。您需要使用JavaScript客戶端的AJAX。你用什麼像jQuery?如果沒有,我會推薦它,因爲它很好地包裝了AJAX。 – Brad 2012-04-26 03:38:48

+0

嗯,它確實是php/mysql,但我認爲這裏也需要ajax。 Duhh你有解決方案嗎? – 2012-04-26 03:44:51

+0

是的,但由於您無法回答我的問題,所以我無法真正回答。 – Brad 2012-04-26 03:48:18

回答

1

我會用jQuery來做到這一點。你絕對不會使用jQuery,但它很好地包裝了AJAX調用,並使它們在多個平臺上以標準方式工作。

首先,您需要獲取jQuery加載。您可以從CDN加載此:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script> 

接下來,在你的JavaScript,只需打個.post()調用現有的PHP腳本:

$.post('yourscript.php', 
    {vid_or_whatever: 12345}, 
    function (data, textStatus, jqXHR) { 
     /* Handle the response data here. */ 
    } 
); 

您在這裏可以找到這種方法的更多細節:http://api.jquery.com/jQuery.post/

最後,請確保您在服務器端使用PDO準備好的查詢。這樣,您可以避免SQL注入漏洞。

+0

謝謝布拉德!哇1.7.2時光飛逝!我收回了我在想的所有WT_!我很可能會部署這個解決方案。 – 2012-04-26 04:05:04

+0

你是代碼之王。謝謝! – 2012-04-26 04:05:46

+0

哈哈最終爲你報仇!!!有些事情至少需要3個小時才能在凌晨1點解決!謝謝,我會得到這個。希望在鳥兒開始唧唧聲之前。但這正是我在尋找的感謝。 – 2012-04-26 04:32:45

相關問題