Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/247.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 仅在页面刷新时加载验证码_Php - Fatal编程技术网

Php 仅在页面刷新时加载验证码

Php 仅在页面刷新时加载验证码,php,Php,我遇到了一个非常令人沮丧的问题,我似乎找不到根本原因。我正在尝试对以下内容执行一个简单的验证码: 代码与github保持不变,并按照说明添加到我的网站。使用IE 8时,图像显示为断开的图像,但如果我刷新页面(F5),图像会神奇地出现。Firefox和Chrome甚至Safari都没有显示图像的问题。我不知道为什么它在进入网页时显示为已损坏。我花了几天的时间研究,现在完全迷路了 非常感谢您的帮助 编辑: 我一直在密切关注php日志,并注意到该函数似乎被调用了两次。似乎当进入页面时,一切都很好,并且

我遇到了一个非常令人沮丧的问题,我似乎找不到根本原因。我正在尝试对以下内容执行一个简单的验证码:

代码与github保持不变,并按照说明添加到我的网站。使用IE 8时,图像显示为断开的图像,但如果我刷新页面(F5),图像会神奇地出现。Firefox和Chrome甚至Safari都没有显示图像的问题。我不知道为什么它在进入网页时显示为已损坏。我花了几天的时间研究,现在完全迷路了

非常感谢您的帮助

编辑: 我一直在密切关注php日志,并注意到该函数似乎被调用了两次。似乎当进入页面时,一切都很好,并且生成了图像。但是,在进入页面和最终加载之间,再次调用该函数,浏览器将尝试显示脚本创建的第一个图像,该图像在此时已被销毁。这只发生在IE中,这就是为什么我如此困惑的原因

用于测试的代码:

<?php
session_start();
$_SESSION = array();
include("captcha.php");
$_SESSION['captcha'] = captcha();
?>

<html>
<body>
<table>
     <tr>
        <td width="45%"><?php echo ('<img src="' . $_SESSION['captcha']['image_src'] . '" alt="CAPTCHA" />'); ?></p></td>
        <td width="4%">:</td>
        <td><input name="captcha" type="text" id="captcha" required><b><font color="red"> *</font></b></td>
     </tr>
</table>

</body>
</html>

: *
这是一种疯狂的预感,可能不起作用。尝试将代码更改为:

session_start();
include("captcha.php");
$captcha = captcha();
$_SESSION['captcha'] = $captcha['code'];
session_write_close();

然后在HTML中,将URL称为
$captcha['image\u src']
。正在尝试确保这不是会话锁定问题。

我的钱在
$\u会话['captcha']['image\u src']
;它的内容是什么?函数本身返回:/captcha.php?\u captcha&;t=0.55984800+1346094060为什么使用
$\u SESSION=array()?通过这样做,您将
$\u会话
var重置为
数组
。我想你应该这样写:
if(!session_id())session_start(),就是这样。此外,我无法理解IE的确切问题。谢谢,杰克。相同的结果:(.Image将仅在刷新时显示。@user1628449然后您应该使用
file\u put\u contents()
检查
captcha.php
是否正确读取会话,以便它不会影响它发送的图像。