Captcha Bild wird nicht angezeigt
Guten Tag Leute,
für meine Schulische Ausbildung zum FIS bin ich Aktuell im Bereich PHP unterwegs und soll dort in ein erstelltes Projekt in die Login und Registrierungs Seite eine Captcha abfrage einbauen.
Da habe ich soweit auch gemacht nur wird mir das Captcha nicht Angezeigt sondern nur ein kleines Bild.
Vllt hat jemand eine Idee was hier der Fehler sein kann?
Benutzt wird xampp in der Version 8.2.4
captchagenerieren.php
login.inc.php
registrieren.inc.php
Im Visual Studio Code gibt mir der Debug der captchagenerieren.php folgendes aus.
Fatal error: Uncaught Error: Call to undefined function imagecreate() in C:\xampp2\htdocs\vv22\captchagenerieren.php:24
Stack trace:
{main}
thrown in C:\xampp2\htdocs\vv22\captchagenerieren.php on line 24
für meine Schulische Ausbildung zum FIS bin ich Aktuell im Bereich PHP unterwegs und soll dort in ein erstelltes Projekt in die Login und Registrierungs Seite eine Captcha abfrage einbauen.
Da habe ich soweit auch gemacht nur wird mir das Captcha nicht Angezeigt sondern nur ein kleines Bild.
Vllt hat jemand eine Idee was hier der Fehler sein kann?
Benutzt wird xampp in der Version 8.2.4
captchagenerieren.php
<?php
session_start();
unset($_SESSION['captchacode']);
// Zeichen, die der Captchacode enthalten darf
$moeglicheZeichen = "abcdefghiklmnpqrstuvwxy123456789" .
"ABCDEFGHIJKLMNOPQRSTUVWXYZ";
// Anzahl der Zeichen, die das Captcha enthalten soll
$anzahlZeichen = 4;
// Captcha-Variable
$captchacode = "";
// Füllen der Captcha-Variable mit der festgelegten
// Anzahl zufälliger Zeichen
for ($i = 0; $i < $anzahlZeichen; $i++) {
$captchacode .= substr(
$moeglicheZeichen,
(rand() % (strlen($moeglicheZeichen))),
1
);
}
// Schreiben des Captchacodes in die Session
$_SESSION['captchacode'] = $captchacode;
header('Content-type: image/jpg');
$image = imagecreate(350, 130);
$farben = array();
for ($i = 0; $i < $anzahlZeichen; $i++) {
$farben[$i] = imagecolorallocate(
$image,
rand(0, 255),
rand(0, 255),
rand(0, 255)
);
}
$bgc = imagecolorallocate($image, 230, 230, 230);
imagefill($image, 0, 0, $bgc);
for ($i = 0; $i < $anzahlZeichen; $i++) {
ImageTTFText(
$image,
rand(20, 80),
rand(-20, 60),
50 + ($i * 50),
rand(80, 120),
$farben[rand(0, $anzahlZeichen - 1)],
"fonts/Anorexia.ttf",
$captchacode[$i]
);
}
for ($i = 0; $i < $anzahlZeichen; $i++) {
imageline(
$image,
rand(0, 10),
rand(0, 150),
rand(330, 340),
rand(0, 150),
$farben[$i]
);
}
imagejpeg($image);
imagedestroy($image);
login.inc.php
<form action="login.php" method="post">
<label class="reg_label">Userid</label><span class="pflichtmarker"> * </span>
<input name="userid" maxlength="20">
<span class="fehlermeldung"></span>
<br>
<label class="reg_label">Passwort</label><span class="pflichtmarker"> * </span>
<input name="pw" type="password" maxlength="50">
<span class="fehlermeldung"></span>
<br>
<img src="captchagenerieren.php" alt="Captcha">
<br>
<label class="reg_label">Captcha</label><span class="pflichtmarker"> * </span>
<input name="captcha">
<br>
<input type="submit">
</form>
registrieren.inc.php
<!-- Registrierungsformular -->
<form action="registrieren.php" method="post">
<label class="reg_label">Name</label><span class="pflichtmarker"> * </span>
<input name="name" maxlength="30" <?php
if (isset($_POST['name']))
echo "value='" . $_POST['name'] . "'";
?> />
<span class="fehlermeldung"></span>
<br />
<label class="reg_label">Vorname</label><span class="pflichtmarker"> * </span>
<input name="vorname" maxlength="30" <?php
if (isset($_POST['vorname']))
echo "value='" . $_POST['vorname'] . "'";
?> />
<span class="fehlermeldung"></span>
<br />
<label class="reg_label">E-Mail</label><span class="pflichtmarker"> * </span>
<input name="email" maxlength="30" <?php
if (isset($_POST['email']))
echo "value='" . $_POST['email'] . "'";
?> />
<span class="fehlermeldung"></span>
<br />
<label class="reg_label">Userid</label><span class="pflichtmarker"> * </span>
<input name="userid" maxlength="20" />
<span class="fehlermeldung"></span>
<br />
<label class="reg_label">Passwort</label><span class="pflichtmarker"> * </span>
<input name="pw" type="password" maxlength="50" />
<span class="fehlermeldung"></span>
<br />
<label class="reg_label">Zusatzinfos</label><span class="pflichtmarker"> </span>
<textarea name="zusatzinfos" rows="5" cols="30">
<?php
if (isset($_POST['zusatzinfos']))
echo $_POST['zusatzinfos'];
?>
</textarea>
<span class="fehlermeldung"></span>
<br>
<img src="captchagenerieren.php" alt="Captcha">
<br>
<label class="reg_label">Captcha</label><span class="pflichtmarker"> * </span>
<input name="captcha">
<br>
<input type="submit">
</form>
Im Visual Studio Code gibt mir der Debug der captchagenerieren.php folgendes aus.
Fatal error: Uncaught Error: Call to undefined function imagecreate() in C:\xampp2\htdocs\vv22\captchagenerieren.php:24
Stack trace:
{main}
thrown in C:\xampp2\htdocs\vv22\captchagenerieren.php on line 24
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 7656141006
Url: https://administrator.de/contentid/7656141006
Ausgedruckt am: 21.11.2024 um 12:11 Uhr
2 Kommentare
Neuester Kommentar
Zitat von @nmartin89:
Fatal error: Uncaught Error: Call to undefined function imagecreate() in C:\xampp2\htdocs\vv22\captchagenerieren.php:24
Stack trace:
{main}
thrown in C:\xampp2\htdocs\vv22\captchagenerieren.php on line 24
Stack trace:
{main}
thrown in C:\xampp2\htdocs\vv22\captchagenerieren.php on line 24
Es könnte sein, dass die gd Extension nicht aktiviert ist.