我在我的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(){
},
});
}
谢谢你的帮助!!
答案 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。