This repository has been archived on 2026-06-03. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
sgd/projekt_v2/captchagenerieren.php
T

45 lines
1.4 KiB
PHP

<?php
/**
* Start der Session
*/
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);
?>