我的 HTML 表单被发送到 PHP 页面进行处理。我需要在表单中添加验证码,但无法将 HTML 页面更改为 PHP,因此在 capcha.php 页面中为显示的验证码设置了一个会话,该页面作为 HTML 表单中的图像输出。当页面加载时,会话变量已设置,但我无法在进程 PHP 页面中检索此会话。我遇到这个问题的地方只是 Firefox 或 chrome。它适用于 IE。
在 capcha.php 中设置会话的代码:
session_start(); // start a session
$image = imagecreate(50, 20); //create blank image (width, height)
$bgcolor = imagecolorallocate($image, 0, 0, 0); //add background color with RGB.
$textcolor = imagecolorallocate($image, 255, 255, 255); //add text/code color with RGB.
$code = rand(1000, 9999); //create a random number between 1000 and 9999
$_SESSION['code'] = $code; //add the random number to session 'code'
imagestring($image, 10, 8, 3, $_SESSION['code'], $textcolor); //create image with all the settings above.
header ("Content-type: image/png"); // define image type
imagepng($image); //display image as PNG
PHP进程页面:
session_start();
print_r($_SESSION['code']);
有人可以帮忙吗?
编辑* 我认为这与在 capcha.php 中设置的会话有关,该会话作为图像添加到我的 HTML 表单中。如果我在浏览器中转到 capcha.php 然后到 process_email.php 会话已设置。因此,当作为图像包含时,它没有设置。有谁知道解决这个问题的方法?*