2013-03-11 88 views
0

我有這兩個會議瓦爾在我的PHP生成一個隨機數:PHP mathquestion驗證碼,AJAX刷新按鈕

<?php 
session_start(); 
if (!isset($_SESSION['num1']) && !isset($_SESSION['num2'])) { 
$_SESSION['num1'] = rand(1,5); 
$_SESSION['num2'] = rand(1,5); 
} 
?> 

而且在同一頁上我有這樣的標籤,顯示NUM1 + NUM2:

<label><?=$_SESSION['num1']?> + <?=$_SESSION['num2']?> ?</label> 

我想要做的就是將標籤邊上的img變成鏈接,它會更新num1和num2 vars而不刷新頁面,這有可能嗎?

我應該在像captcha.php這樣的分離文件中創建這些變量,然後將它包含在顯示生成的數字的標籤上,在captcha.php或類似的東西上使用echo: 或者我需要使用ajax?

你們可以幫我一下,我是設計師,試圖創建一個投資組合,這種形式讓我瘋狂! 感謝


@Koterpillar 正如你所說,我captcha.php我想有這些:

<?php 
session_start(); 
if (!isset($_SESSION['num1']) && !isset($_SESSION['num2'])) { 
$_SESSION['num1'] = rand(1,5); 
$_SESSION['num2'] = rand(1,5); 
} 
?> 

然後,我將包括驗證碼PHP到一個div讓說#captcha。驗證碼是通過一個簡單的問題來完成的,比如1 + 3 =,沒有圖片或者其他類似的東西,它是一個小網頁,我想我不需要驗證碼上的那些噪音和線條,驗證是在php提交表單上進行的。但如何調用與Ajax的captcha php來更新該div?它是這樣的?

$("#captcha").click(function() { 

$.ajax({ 
type: "POST", 
url: "includes/captcha.php", 
data: , 
success: function(){ 

}, 
}); 
} 

感謝您的幫助!

+0

ajax是正確的想法.. BTW你使用jQuery嗎? – coolguy 2013-03-11 09:04:48

+0

是的,我只使用jquery和php ...但我想我會需要這個ajax的東西!或者是另一種解決方案?感謝您的幫助 – cafeon 2013-03-11 19:22:19

回答

1

如果您想更新num1和num2而不刷新頁面,則必須使用Ajax。建議是這樣:

<div id='captcha'><?php include 'captcha.php'; ?></div> 

,然後Ajax的更新captchadiv通過請求相同captcha.php:(顯然,限速,繪製圖像等仍然需要)

$.get('includes/captcha.php', function (data) { 
    $('#captcha').html(data); 
}); 

+0

感謝您的幫助@Koterpillar,我真的很感激!如果你有時間,你能幫我寫這個Ajax更新嗎?我會編輯我的問題,以便您可以引導我走向正確的方向。謝謝 – cafeon 2013-03-11 19:49:18

+0

http://stackoverflow.com/questions/6506873/change-div-content-using-ajax-php-and-jquery – Koterpillar 2013-03-12 10:56:10

0

會話將一次運行......這意味着當您打開頁面時,如果會話已設置....然後設置會話值並檢查會話值...我認爲您需要更新您的頁面後加載....那麼你需要使用Ajax ...這信標會話是服務器端..沒有服務器請求時不能設置或獲取從會話值..

謝謝...

+0

Thansk爲您回覆@ D.d.Tharanga!不幸的是,我嘗試過,但我不明白你說的是什麼。對於沒有關於php,ajax,jquery的知識的設計師來說,這樣做很難做到這樣的事情。但是,謝謝你,我非常感謝你的回覆。如果你可以給我一些例子,我不知道,也許它會變得更容易:D – cafeon 2013-03-11 20:08:36

+0

我認爲這個鏈接幫助你找到細節.... http://www.w3schools.com/php/php_ajax_intro.asp http ://www.w3schools.com/php/php_sessions.asp – Sri 2013-03-12 09:26:21

0

如果你想更新而不刷新頁面,那麼是的,你需要使用Ajax。