Hallo!
Ich beschäftige mich noch nicht so lange mit PHP, würde aber gerne folgendes realisieren:
Folgendes Formularscript soll erst abgeschickt werden, wenn der in der datei code.php (s.u.) erzeugte Code korrekt im Formular steht:
Das ist das Formular:
Das ist die Darstellung des Verification Images:
Und hier wird das Bild mit Code erzeugt:
Wäre super wenn mir jemand helfen könnte!
Vielen Dank schonmal und Grüße,
Markus
Ich beschäftige mich noch nicht so lange mit PHP, würde aber gerne folgendes realisieren:
Folgendes Formularscript soll erst abgeschickt werden, wenn der in der datei code.php (s.u.) erzeugte Code korrekt im Formular steht:
Das ist das Formular:
PHP:
<?php
$strEmpfaenger = 'mail';
$strFrom = '"Formmailer" <mail>';
$strSubject = 'Feedback';
$strReturnhtml = 'http://www.provider.xy/IhrName/IhreSeite.htm';
$strDelimiter = ":\t";
if($_POST)
{
$strMailtext = "";
while(list($strName,$value) = each($_POST))
{
if(is_array($value))
{
foreach($value as $value_array)
{
$strMailtext .= $strName.$strDelimiter.$value_array."\n";
}
}
else
{
$strMailtext .= $strName.$strDelimiter.$value."\n";
}
}
if(get_magic_quotes_gpc())
{
$strMailtext = stripslashes($strMailtext);
}
mail($strEmpfaenger, $strSubject, $strMailtext, "From: ".$strFrom)
or die("Die Mail konnte nicht versendet werden.");
header("Location: $strReturnhtml");
exit;
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de">
<head>
<title>Einfacher PHP-Formmailer</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<body>
<h1>Beispielformular</h1>
<form action="<?php print $_SERVER['PHP_SELF']; ?>" method="post">
<!-- Hier die eigentlichen Formularfelder eintragen. Die folgenden sind Beispielangaben. -->
<dl>
<dt>Ihr Name:</dt>
<dd><input type="text" name="Versender" /></dd>
<dt>Ihre E-Mail:</dt>
<dd><input type="text" name="E-Mail" /></dd>
<dt>Sie können:</dt>
<dd><input type="checkbox" name="kannwas[]" value="HTML" />HTML <input type="checkbox" name="kannwas[]" value="PHP" />PHP</dd>
<dt>Sie sind:</dt>
<dd><input type="radio" name="sexus" value="M" />Mann <input type="radio" name="sexus" value="Frau" />Frau</dd>
<dt>Sie mögen:</dt>
<dd><select name="Browser"><option value="Opera">Opera</option><option value="Mozilla">Mozilla</option></select></dd>
<dt>Bemerkungen:</dt>
<dd><textarea name="Bemerkungen" rows="3" cols="20">Bemerkungen</textarea></dd>
</dl>
<!-- Ende der Beispielangaben -->
<p>
<input type="submit" value="submit" />
<input type="reset" value="Zurücksetzen" />
</p>
</form>
</body>
</html>
Das ist die Darstellung des Verification Images:
PHP:
<?PHP
session_start(); // Session starten
// Überprüfung des Prüfcodes, falls das Formular ausgefüllt wurde
if (isset($_POST['submit'])){
if ($_POST['pruefcode'] == $_SESSION['code']){
echo "Der eingegebene Prüfcode ist richtig<br>";
// Aktionen, wenn Prüfcode richtig ist, also hier soll das Formular abgeschickt werden
}
else {
echo "Der eingegebene Prüfcode ist falsch<br>";
// Aktionen, wenn Prüfcode falsch ist, der Text soll erscheinen und die Page neu geladen werden
}
} // Ende der Formularüberprüfung
$_SESSION['code'] = rand(1000, 9999); // Prüfcode erzeugen und in der Session speichern
?>
<!-- Den foldenden HTML-Teil braucht man hier natürlich nicht, es müssen nur zwei Zeilen
davon in den Fomular-Code übernommen werden -->
<html>
<head>
<title>Formularseite</title>
</head>
<body>
<img src="code.php">
<form method="POST">
<input type="text" name="pruefcode"><br>
<input type="submit" name="submit">
</form>
Und hier wird das Bild mit Code erzeugt:
PHP:
<?PHP
header("Content-type: image/png");
session_start(); // Startet die Session
$grafik = ImageCreate (100, 100); // Erzeugt ein 100x100px großes Bild
$hintergrundfarbe = ImageColorAllocate($grafik, 255, 0, 0); // Definiert die Farben
$schriftfarbe = ImageColorAllocate($grafik, 0, 255, 0); // in RGB-Schreibweise
ImageTTFText ($grafik, 20, rand(-30,30), 15, 70, $schriftfarbe, "/beechf", $_SESSION['code']); // Code aus der Session in die Grafik schreiben
ImagePNG($grafik); // Grafik erzeugen
imagedestroy($grafik); // Zwischenspeicher löschen
?>
Wäre super wenn mir jemand helfen könnte!
Vielen Dank schonmal und Grüße,
Markus
Zuletzt bearbeitet: