php mathquestion验证码,ajax刷新按钮

时间:2013-03-11 09:01:09

标签: php ajax captcha

我在我的php上有这两个会话变量生成一个随机数:

<?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变量而不刷新页面,是否可能?

我应该在像captcha.php这样的separeted文件中创建这些变量,然后将它包含在显示生成的数字的标签上,并在captcha.php或类似的东西上显示回声? 或者我需要使用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(){

},
});
}

谢谢你的帮助!!

3 个答案:

答案 0 :(得分:1)

如果要“更新num1和num2而不刷新页面”,则必须使用Ajax。建议类似:

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

然后通过请求相同的captcha更新Ajax-更新div captcha.php

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

(显然,仍需要速率限制,绘制图像等。)

答案 1 :(得分:0)

会话将一次运行...这意味着当你打开页面时如果设置会话....然后设置会话值并检查会话值...我认为你需要更新你的页面后加载....然后你需要使用Ajax ...那个信标会话是服务器端..没有服务器请求你不能设置或从会话中获取值..

谢谢...

答案 2 :(得分:0)

如果您想要更新而不刷新页面,那么是的,您需要使用Ajax。