【问题标题】:php mathquestion captcha, ajax refresh buttonphp mathquestion验证码,ajax刷新按钮
【发布时间】:2013-03-11 09:01:08
【问题描述】:

我的 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 vars,这可能吗?

我是否应该在像 captcha.php 这样的单独文件中创建这些变量,然后将其包含在显示生成数字的标签上,并在 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 调用验证码 php 来更新该 div?是这样的吗?

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

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

},
});
}

谢谢你的帮助!!

【问题讨论】:

  • ajax 是正确的想法。顺便说一句,你使用 jquery 吗?
  • 是的,我只使用 jquery 和 php……但我想我需要这个 ajax 东西!还是有另一种解决方案?感谢您的帮助

标签: php ajax captcha


【解决方案1】:

如果您想“在不刷新页面的情况下更新 num1 和 num2”,则必须使用 Ajax。建议类似:

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

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

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

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

【讨论】:

  • 感谢您的帮助@Koterpillar,我真的很感激!如果你有时间,你能帮我写这个 ajax 更新吗?我将编辑我的问题,以便您可以引导我走向正确的方向。谢谢
【解决方案2】:

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

谢谢...

【讨论】:

  • 感谢您回复@D.d.Tharanga!不幸的是,我试过了,但我听不懂你说的。对于一个不了解 php、ajax、jquery 的设计师来说,做这样的事情很难。但是谢谢你,我真的很感谢你的回复。如果你能举一些我不知道的例子,也许会变得更容易:D
  • 我认为这个链接可以帮助你找到细节......w3schools.com/php/php_ajax_intro.aspw3schools.com/php/php_sessions.asp
【解决方案3】:

如果你想在不刷新页面的情况下更新,那么是的,你需要使用 Ajax。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-23
    • 1970-01-01
    • 2012-09-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多