0

我的 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(){

},
});
}

谢谢你的帮助!!

4

3 回答 3

1

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

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

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

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

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

于 2013-03-11T09:06:15.333 回答
0

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

谢谢...

于 2013-03-11T09:05:36.907 回答
0

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

于 2013-03-11T09:05:57.207 回答