2013-03-11 80 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。