我有一個問題,我正在使用一個按鈕上的網站。 問題是我只希望這個訪問該網站的用戶按下一次。 因此,當用戶刷新或回來時,不可能再次按下它。即使在下次訪問時點擊使按鈕消失
我想我應該使用PHP與AJAX的組合,但不幸的是我不夠好,不能將它放在一起。在這裏,希望有人可以把我在正確的方向:)
html代碼:
<form action="" method="POST">
<input id="banana_button" type="submit" name="button_press" value="Add banana's!">
</form>
的JavaScript:
$('input[name="button_press"').click(function(){
$('#banana_counter_text').append($banana+1);
$(this).attr('disabled',true).css('width','180px').attr('value','thanks for adding a banana');
});
我想要得到的是,當他們按下了按鈕下一次他們訪問他們將看不到按鈕。 是否有可能,我怎麼能最好這樣做。我希望你們能幫助我
更新:
嗯,我想最近幾天來解決這個問題,我得到它的工作。 我正在使用具有自定義名稱的session_cookie。每次網站加載時,它都會檢查該cookie是否可用,如果不是,則會顯示該按鈕。否則它會刪除整個按鈕。
的代碼如下所示:
PHP
//this is what checks everytime if the cookie is set
if (isset($_COOKIE['banana_added'])) {
//code for disabling the button
}
//this is what makes the cookie and checks if the submit button is pressed.
//because people where wondering how the data is stored. It is just a simple XML file
if(isset($_POST['buttonsubmit'])){
/*when submit is pressed */
session_name("banana_added");
session_start();
$xml = simplexml_load_file('../banana.xml');
$prev_count = $xml->banana_count;
$new_count = $prev_count +$_POST['buttonsubmit'];
echo $prev_count;
echo $new_count;
$xml->banana_count = $new_count;
file_put_contents('../banana.xml', $xml->asXML());
header("location:../landing.php");
感謝大家的幫助。我不知道如何關閉此線程? 這是這個特殊問題
是用戶只有在他們登錄時才能點擊或者這樣? – Class 2014-09-02 22:32:20
您將PHP作爲標記之一。您是否使用PHP來管理您的數據(例如,將其存儲在數據庫中)?您正在尋找的功能類型是「一次性」功能,一次出現,然後一旦用戶提供輸入就會禁用它。 – kevin628 2014-09-02 22:32:28
簡單的解決方案是存儲cookie並在cookie存在時隱藏該按鈕。這並不妨礙人們「清除cookie緩存」並重新提交。爲了更明確的控制,你需要一個服務器端解決方案,這會帶來很多複雜的識別和存儲'已訪問'的用戶。 – 2014-09-02 22:36:33