Hallo,
ich brauchte einen Schutz bei meinem Kontaktformular
und wollte daher das Zahlen-Captcha einrichten, aber
irgendwie habe ich wohl einen Fehler eingebaut, obwohl
ich streng nach Tutorial/Anleitung ging. Die Datei, bzw.
das Kontaktformular erscheint nun gar nicht mehr, bzw.
wird nicht geladen.
Hier ist meine Datei kontakt.php vor der Veränderung:
Code:
<?
require("$DOCUMENT_ROOT/menulinks.inc.php");
$status = $menu["kontakt"]["id"];
require("$DOCUMENT_ROOT/header.inc.php");
?>
<div id="main">
<?php
function generate_formular() {
?>
<div id="contentleft">
<p class="centered">
Bei ernsthaftem Interesse an einer Zusammenarbeit freue ich mich über eine Anfrage mit vollständigen Angaben.
</p>
<form action="kontakt.php" method="post">
<p>
<label for="anrede">Anrede</label>
<select name=anrede size="1">
<option selected>Herr
<option>Frau
<option>Firma/Agentur
</select>
</p>
<p>
<label for="name">Name</label>
<input type="text" name="name" size="40" maxlength="120" />
</p>
<p>
<label for="telefon">Telefon</label>
<input type="text" name="telefon" size="40" maxlength="80" />
</p>
<p>
<label for="email">E-Mail-Adresse</label>
<input type="text" name="email" size="40" maxlength="90" />
</p>
<!! ------------------------------------------------------Angaben Referenzen des Fotografen -----------------------------------------------------------------!!>
<p>
<label for="website">Internetpräsenz</label>
<input type="text" name="website" size="40" maxlength="90" />
</p>
<p>
<label for="betreff2">Betreff</label>
<input type="text" name="betreff2" size="40" maxlength="90" />
</p>
<p> <label for="nachricht">Nachricht</label>
<textarea name="nachricht" cols="40" rows="8"></textarea>
</p>
<textarea class="gbcommentnv" name="comment1" cols="40" rows="5"></textarea>
<textarea class="gbcommentnv" name="comment2" cols="40" rows="5"></textarea>
<textarea class="gbcommentnv" name="comment3" cols="40" rows="5"></textarea>
<p>
<input type="submit" name="mail" value="E-Mail verschicken" />
</p>
</form>
<p class="centered">
<br /><br />
Bitte keine Anfragen bezüglich Escort-Service oder ähnlicher Dienstleistungen.
</p>
</div> <!-- contentleft -->
<div id="contentright">
<img id="right" src="images/kontakt.jpg" alt="Bild des Autors" />
</div>
<?
}
function generate_answer() {
?>
<p class="headline">
Ihre Mail wurde zugestellt.<br />
Herzlichen Dank für Ihr Interesse.
</p>
<?
}
/* function *main* */
if (!sent || strlen($name) < 2 || strlen($email) <2) {
generate_formular();
} else {
$pruefung = array(
'email' => '/^ [\w.!#%&\*\/=\?\^\`\{\|\}\~+-]{1,64}
\@ [[:alnum:].-]{1,255} \. [a-z]{2,6} $/xi',
'name' => '/^[[:print:]]{3,}$/',
'betreff' => '/^[[:print:]]{3,}$/');
//Eingabeprüfung
$fehler = array();
foreach($_POST as $parameter => $wert) {
if(isset($pruefung[$parameter])) {
if(!preg_match($pruefung[$parameter], $wert)) {
$fehler[] = "Probleme mit Feld " . $parameter . ": " . $wert;
}
} else {
unset($_POST[$parameter]);
}
}
if(strlen($_POST['comment1']) == 0 and strlen($_POST['comment1']) == 0 and strlen($_POST['comment1']) == 0 and empty($fehler)){
$betreff = "E-Mail über Kontaktformular";
$message = "<html><body>
<p align=\"left\">
<b>Anrede: </b> $anrede<br />
<b>Name: </b> $name<br />
<b>Telefon: </b> $telefon<br />
<b>E-Mail: </b> $email<br />
<b>Internetpräsenz: </b> <a href=\"$website\">$website</a><br /><br />
<b>Betreff: </b> $betreff2<br />
<b>Nachricht: </b> $nachricht<br />
</p>
</body></html>
";
$header = "From: $email\r\n";
$header .= "Content-Type: text/html\r\nContent-Transfer-Encoding: 8bit\r\n";
$header .= "X-Mailer: PHP ". phpversion();
mail (">> Edit by Admin :Das Posten von Email-Adressen ist hier nicht gestattet <<
generate_answer();
} else { // if commentfelder 0
if(!empty($fehler)){
?><ul><?
foreach($fehler as $row){
echo"<li>".$row."</li>";
}
?></ul><?
}
generate_formular();
}
}
?>
</div> <!-- div main -->
<?php
require("$DOCUMENT_ROOT/footer.inc.php");
?>
... und hier danach:
Code:
<?
session_start();
require("$DOCUMENT_ROOT/menulinks.inc.php");
$status = $menu["kontakt"]["id"];
require("$DOCUMENT_ROOT/header.inc.php");
?>
<div id="main">
<?php
function generate_formular() {
?>
<div id="contentleft">
<p class="centered">
Bei ernsthaftem Interesse an einer Zusammenarbeit freue ich mich über eine Anfrage mit vollständigen Angaben.
</p>
<form action="kontakt.php" method="post">
<p>
<label for="anrede">Anrede</label>
<select name=anrede size="1">
<option selected>Herr
<option>Frau
<option>Firma/Agentur
</select>
</p>
<p>
<label for="name">Name</label>
<input type="text" name="name" size="40" maxlength="120" />
</p>
<p>
<label for="telefon">Telefon</label>
<input type="text" name="telefon" size="40" maxlength="80" />
</p>
<p>
<label for="email">E-Mail-Adresse</label>
<input type="text" name="email" size="40" maxlength="90" />
</p>
<!! ------------------------------------------------------Angaben Referenzen des Fotografen -----------------------------------------------------------------!!>
<p>
<label for="website">Internetpräsenz</label>
<input type="text" name="website" size="40" maxlength="90" />
</p>
<p>
<label for="betreff2">Betreff</label>
<input type="text" name="betreff2" size="40" maxlength="90" />
</p>
<p> <label for="nachricht">Nachricht</label>
<textarea name="nachricht" cols="40" rows="8"></textarea>
</p>
<textarea class="gbcommentnv" name="comment1" cols="40" rows="5"></textarea>
<textarea class="gbcommentnv" name="comment2" cols="40" rows="5"></textarea>
<textarea class="gbcommentnv" name="comment3" cols="40" rows="5"></textarea>
<p>
<img src="captcha/captcha.php" border="0" title="Sicherheitscode"><br />
<input type="text" name="sicherheitscode" size="5">
</p>
<p>
<input type="submit" name="mail" value="E-Mail verschicken" />
</p>
</form>
<p class="centered">
<br /><br />
Bitte keine Anfragen bezüglich Escort-Service oder ähnlicher Dienstleistungen.
</p>
</div> <!-- contentleft -->
<div id="contentright">
<img id="right" src="images/kontakt.jpg" alt="Bild des Autors" />
</div>
<?
}
function generate_answer() {
?>
<p class="headline">
Ihre Mail wurde zugestellt.<br />
Herzlichen Dank für Ihr Interesse.
</p>
<?
}
if(isset($_SESSION['captcha_spam']) AND $_POST["sicherheitscode"] == $_SESSION['captcha_spam']){
unset($_SESSION['captcha_spam']);
/* function *main* */
if (!sent || strlen($name) < 2 || strlen($email) <2) {
generate_formular();
} else {
$pruefung = array(
'email' => '/^ [\w.!#%&\*\/=\?\^\`\{\|\}\~+-]{1,64}
\@ [[:alnum:].-]{1,255} \. [a-z]{2,6} $/xi',
'name' => '/^[[:print:]]{3,}$/',
'betreff' => '/^[[:print:]]{3,}$/');
//Eingabeprüfung
$fehler = array();
foreach($_POST as $parameter => $wert) {
if(isset($pruefung[$parameter])) {
if(!preg_match($pruefung[$parameter], $wert)) {
$fehler[] = "Probleme mit Feld " . $parameter . ": " . $wert;
}
} else {
unset($_POST[$parameter]);
}
}
if(strlen($_POST['comment1']) == 0 and strlen($_POST['comment1']) == 0 and strlen($_POST['comment1']) == 0 and empty($fehler)){
$betreff = "E-Mail über Kontaktformular";
$message = "<html><body>
<p align=\"left\">
<b>Anrede: </b> $anrede<br />
<b>Name: </b> $name<br />
<b>Telefon: </b> $telefon<br />
<b>E-Mail: </b> $email<br />
<b>Internetpräsenz: </b> <a href=\"$website\">$website</a><br /><br />
<b>Betreff: </b> $betreff2<br />
<b>Nachricht: </b> $nachricht<br />
</p>
</body></html>
";
$header = "From: $email\r\n";
$header .= "Content-Type: text/html\r\nContent-Transfer-Encoding: 8bit\r\n";
$header .= "X-Mailer: PHP ". phpversion();
mail ("blaaaa AT schubidu PUNKT deutschland", $betreff, $message, $header);
generate_answer();
} else { // if commentfelder 0
if(!empty($fehler)){
?><ul><?
foreach($fehler as $row){
echo"<li>".$row."</li>";
}
?></ul><?
}
generate_formular();
}
}
}
?>
</div> <!-- div main -->
<?php
require("$DOCUMENT_ROOT/footer.inc.php");
?>
session_start(); nach oben gepackt und Rest in den
Mail-Sende-Bereich, aber nix klappt.
Das Verzeichnis captcha mit den drei Dateien habe ich
definitiv richtig angelegt. :-/