Ich habe dann noch eine Abfrage eingebaut ob alle Felder ausgefüllt sind. Als das ganze dann online war, bekam ich auch schon die ersten Spammails. Um dem entgegenzuwirken habe ich mich mal nach einem "Captchacode" umgeschaut, mit dem ich das Ganze ergänzen kann.
Gefunden habe ich schließlich das hier:
http://www.stoppt-den-spam.info/webmast ... rwort.html
Das einbinden der Zeilen soll wohl total einfach sein. Ich habe alle eingebunden und wenn ich dann die Seite aufrufe, wird sofort ein error zurückgegeben, das der code falsch eingegeben wurde. Dies lässt mich darauf schließen das ich alles falsch eingebunden habe
Vllt kann mir jemand helfen::
____________________________________
Ich muss also folgendes in meine formulardatei einfügen
- Code: Alles auswählen
<?php
session_start();
if(isset($_SESSION['captcha_spam']) AND $_POST["sicherheitscode"] == $_SESSION['captcha_spam']){
unset($_SESSION['captcha_spam']);
//
//
//Hier kommt das ursprüngliche Script hin.
//
//
}
?>
sowie das hier wenn ich einen fehler zurückgeben will.
- Code: Alles auswählen
}else{
die ("Der Sicherheitscode ist falsch!");
}
Meine gesamten PHP Zeilen sehen jetzt wie folgt aus. Stimmt das so ?
- Code: Alles auswählen
<?php
session_start();
if(isset($_SESSION['captcha_spam']) AND $_POST["sicherheitscode"] == $_SESSION['captcha_spam']){
unset($_SESSION['captcha_spam']);
### Konfiguration ###
# An welche Adresse sollen die Mails gesendet werden?
$strEmpfaenger = 'mail@mail.de';
# Welche Adresse soll als Absender angegeben werden?
$strFrom = '"Anfrage" <mail@mail.de>';
# Welchen Betreff sollen die Mails erhalten?
$strSubject = 'Anfrage';
# Zu welcher Seite soll weitergeleitet werden?
$strReturnhtml = 'http://www.test.com';
# Welche(s) Zeichen soll(en) zwischen dem Feldnamen und dem angegebenen Wert stehen?
$strDelimiter = ":\t";
### Ende Konfiguration ###
//time();
if($_POST)
{
$strMailtext = "";
$strMailtext .= "Danke für ihre Anfrage" . "\n";
if($_POST['Name'] && $_POST['E-Mail'] && $_POST['Bemerkungen'])
{
$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";
}
}
}
else die('Es wurden nicht alle Formularfelder ausgefuellt');
$strMailtext.="Deine Registrynummer lautet: " . time();
$strMailtext.="\n";
$empfaenger=array("test"=>$strEmpfaenger,
);
if(get_magic_quotes_gpc())
{
$strMailtext = stripslashes($strMailtext);
}
foreach($empfaenger as $key =>$value){
mail($value, $strSubject, $strMailtext, "From: ".$strFrom) or die("Mail erfolgreich versendet");
}
}else{
die ("Der Sicherheitscode ist falsch!");
}
header("Location: $strReturnhtml");
exit;
}
}
?>
html mäßig muss nur folgendes eingefügt werden:
- Code: Alles auswählen
<img src="captcha/captcha.php" border="0" title="Sicherheitscode">
<input type="text" name="sicherheitscode" size="5">
mein html formular sie so aus
- Code: Alles auswählen
<form action="<?php print $_SERVER['PHP_SELF']; ?>" method="post">
<!-- Formularangaben -->
<br />
*Pflichtfelder
<br />
<br />
<dl>
<dt></dt>
Name*:
<input name="Name" type="text" size="40" /></dd>
<br>
<br>
<dt></dt>
E-Mail*:
<input name="E-Mail" type="text" size="40" /></dd>
<br>
<br>
<dt></dt>
Straße: <input name="Straße" type="text" size="40" /></dd>
<br>
<br>
<dt></dt>
PLZ, Ort:
<input name="PLZ, Ort" type="text" size="40" /></dd>
<br>
<br>
<dt>Anfrage*:</dt>
<textarea name="Bemerkungen" rows="5" cols="40">Anfrage</textarea>
</dd>
</dl>
<!-- Absenden & Zurücksetzen -->
<p>
<br />
<input type="submit" value="Senden" />
<input type="reset" value="Zurücksetzen" />
</p>
<img src="captcha/captcha.php" border="0" title="Sicherheitscode">
<input type="text" name="sicherheitscode" size="5">
</form>
Ansonsten habe ich alle nötigen Daten in das Rootverzechnis geladen und es wird alles richtig angezeigt. Vllt. kann mir jemand sagen wie ich die zeilen richtig einbinde.
Bite lasst euch nicht von denn vielen Zeilen abschrecken, aber ich wollte es direkt ausführlich machen, damit nicht soviele Fragen kommen.
Ich hoffe ihr könnt mir weiterhelfen
