私はキャプチャをコーディングしたいが何らかの理由で自分の画像が表示されない(単にimgのエラーシンボルが表示される) 私のミスがどこにあるか教えてくれる? 他の皆さんは、キャプチャcaptchaの画像がブラウザに表示されない
<?php
session_start();
function generateCaptcha($_SESSIONNAME) {
// Überprüfen ob der Sessionname leer ist
if(trim($_SESSIONNAME) == '')
die('Sessionname ist leer!');
//schrift fuer captcha
$font = './captcha.ttf';
//bild erstellen auf den der captcha erscheint
$image = imagecreate(125, 30);
//weiß faerben des bildes
imagecolorallocate($image, 255, 255, 255);
//links 5 px Initialwert
$left = 5;
//alle zulaessigen Buchstaben (aehnliche rausgenommen)
$allowed = 'aAbBcCdDeEfFgGhHijJkKLmMnNpPqrRsStTuUvVwWxXyYzZ1234578';
//string fuer zufall code
$string = '';
for($i = 1;$i <= 6;$i++) // 6 Zeichen
{
//random nummer mit str laenge -1
$code = $allowed{rand(0, strlen($allowed) - 1)};
//das
$string .= $code; // Das Zeichen an den gesamten Code anhängen
imagettftext($image, 20, rand(-10, 10), $left + (($i == 1?5:15) * $i), 25, imagecolorallocate($image, 200, 200, 200), $font, $code);
// Das gerade herausgesuchte Zeichen dem Bild hinzufügen
imagettftext($image, 16, rand(-15, 15), $left + (($i == 1?5:15) * $i), 25, imagecolorallocate($image, 69, 103, 137), $font, $code);
// Das Zeichen noch einmal hinzufügen, damit es für einen Bot nicht zu leicht lesbar ist
}
$_SESSION[$_SESSIONNAME] = $string; // Den Code in die Session mit dem Sessionname speichern für die Überprüfung
header("Content-type: image/png"); // Header für ein PNG Bild setzen
imagepng($image); // Ausgaben des Bildes
imagedestroy($image); // Bild zerstören
}
$sessionName = 'captchacode'; // Sessionname
if(isset($_GET['captcha']))
{
//aufruf der funltion(parameter = sessionname)
generateCaptcha($sessionName);
//beenden
exit();
}
//pruefen ob form gesendet wurde
if(isset($_POST['check']))
{
// Vergleich eingabe und code
if($_SESSION[$sessionName] == trim($_POST['captcha']))
echo "Richtig";
else
echo "Falsch";
}
?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<fieldset>
<label for="captcha">
Captcha
</label>
<input type="text" name="captcha" id="captcha" />
<img src="<?php echo $_SERVER['PHP_SELF']; ?>?captcha" alt="" />
<button type="submit" name="check">Überprüfen</button>
</fieldset>
</form>
ur right img urlについてこのエラーを示していますimg ...画像からURLを変更しようとしましたが、それでも同じ誤りです – Smuka
あなたのPHPにGDライブラリがインストールされていますか? –
GDエクステンションを持っていて、式を使用していれば、コードにエラーはありませんか? – Smuka