HTML フォームが PHP ページに送信されて処理されます。フォームにキャプチャを追加する必要がありますが、HTML ページを PHP に変更できないため、HTML フォーム内の画像として出力する capcha.php ページに表示されたキャプチャのセッションを設定しました。ページが読み込まれると、セッション変数が設定されますが、プロセス 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']);
誰でも手伝ってもらえますか?
編集* 私の HTML フォームに画像として追加された capcha.php に設定されているセッションと関係があると思います。ブラウザで capcha.php にアクセスしてから process_email.php にアクセスすると、セッションが設定されます。したがって、画像として含まれている場合は設定されません。この問題を回避する方法を知っている人はいますか?*