Hallo php-forum!
Ich bin selber leider nicht sehr gut in sachen php, deswegen hat mir ein Bekannter sein selbst programmiertes Kontaktformular-script zur Verfügung gestellt.
Ich habe es mal probeweise auf einer testseite untergebracht:
http://www.same.cavenet.de/moep/kontakt.php
die mails bekomme ich auch problemlos zugeschickt, jedoch passiert nach dem klicken auf den sende-button etwas seltsames..
es erscheint eine komische fehlermeldung die der programmierer sich auch nicht erklären kann..ich mir natürlich erst recht nicht..
könnte jemand eventuell so nett sein und sich meinen quelltext mal eben angucken?
vielen dank im voraus, grüße, leo.
Ich bin selber leider nicht sehr gut in sachen php, deswegen hat mir ein Bekannter sein selbst programmiertes Kontaktformular-script zur Verfügung gestellt.
Ich habe es mal probeweise auf einer testseite untergebracht:
http://www.same.cavenet.de/moep/kontakt.php
die mails bekomme ich auch problemlos zugeschickt, jedoch passiert nach dem klicken auf den sende-button etwas seltsames..
es erscheint eine komische fehlermeldung die der programmierer sich auch nicht erklären kann..ich mir natürlich erst recht nicht..
könnte jemand eventuell so nett sein und sich meinen quelltext mal eben angucken?
vielen dank im voraus, grüße, leo.
Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>moep</title> <link rel="stylesheet" type="text/css" href="stylesheet.css" /> <link rel="shortcut icon" href="bilder/favicon.ico" /> </head> <body> <div id="page"> <div id="head"></div> <div id="menu"> <ul> <li><a href="index.html" class="menu">Index</a></li> <li><a href="2.html" class="menu">Link 2</a></li> <li><a href="3.html" class="menu">Link 3</a></li> </ul> </div> <div id="content_head"></div> <div id="content"> [PHP] <?php $email = "l.claus@gmx.de"; // Wenn alle Felder ausgefuellt wurden und der Captcha stimmt, wird ein Cookie gesetzt if($_GET['action'] != "" && !empty($_POST['name']) && !empty($_POST['email']) && !empty($_POST['message']) && ereg ("^[0-9a-zA-Z]([-_.]?[0-9a-zA-Z])*@[0-9a-z]( [-.]?[0-9a-z])*\\.[a-z]{2,3}$", $_POST['email'])) { setcookie("spam_protection", "spam_protection", time()+500); } // Erstellen einer Rechenaufgabe $Zahl_1 = intval(rand(1, 5)); $Zahl_2 = intval(rand(1, 5)); ?> <?php // Wenn das Formular gesendet werden soll... if($_GET['action'] == "send") { // ...der Cookie gegen Spam nicht gesetzt ist... if($_COOKIE["spam_protection"] != "spam_protection") { // ... und die Rechenaufgabe FALSCH geloest wurde... if($_POST['number'] != md5($_POST['arithmetic'])) { // ...dann eine Fehlermeldung ausgeben! echo "Die Rechenaufgabe wurde falsch gelöst!<br/><br/>"; } // Ansonsten, wenn die Rechenaufgabe RICHTIG geloest wurde stimmt... if($_POST['number'] == md5($_POST['arithmetic'])) { // ...und die eingegeben E-Mail Adresse in Wahrheit keine ist... if(!ereg ("^[0-9a-zA-Z]([-_.]?[0-9a-zA-Z])*@[0-9a-z]([-.]?[0-9a-z])* \\.[a-z]{2,3}$", $_POST['email'])) { // ...dann eine Fehlermeldung ausgeben! echo "Die eingegebene E-Mail-Adresse ist ungültig!<br/><br/>"; } // Ansonsten, wenn die eingegebene E-Mail Adresse auch wirklich eine ist... if(ereg ("^[0-9a-zA-Z]([-_.]?[0-9a-zA-Z])*@[0-9a-z]([-.]?[0-9a-z])*\\.[a-z]{2,3}$", $_POST['email'])) { // ...und kein Feld leer ist... if(!empty($_POST['name']) && !empty($_POST['email']) && !empty($_POST['message'])) { // dann den ganzen Muell von Spambots oder auch menschlichen Spammern entfernen... $name = nl2br(stripslashes(htmlspecialchars($_POST['name']))); $IP = getenv("REMOTE_ADDR"); $absender = preg_replace( "/[^a-z0-9 !?:;,.\/_\-=+@#$&\*\(\)]/im", "", $_POST['email'] ); $absender = preg_replace( "/(content-type:|bcc: |cc:|to:|from:)/im", "", $absender ); $nachricht = nl2br(stripslashes(htmlspecialchars($_POST['message']))); // ...die Nachricht, die Sie erhalten moechten, wenn eine neue Nachricht an Sie versandt wurde, definieren... $mailnachricht = "$nachricht"; // ...an Sie verschicken... mail($email, "Nachricht von $name ($IP)", $mailnachricht, "From: $name <$absender>"); // ...und dem Benutzer sagen, dass alles glatt lief! echo "Deine Nachricht wurde erfolgreich versendet!<br/><br/>"; } // Wenn nicht alle Felder ausgefuellt wurden, dann... else { // eine Fehlermeldung ausgeben! echo "Bitte fülle alle Felder korrekt aus!"; } } } } } ?> <form id="form" name="form" method="post" action="<?php echo $_SERVER[';PHP_SELF']; ?>?p=contact&action=send"> <table cellpadding="0" cellspacing="4"> <tr> <td>Name:</td> <td align="left"> <input name="name" type="text" id="name" value="<?php echo $_POST['name']; ?>"/></td> </tr> <tr> <td>eMail:</td> <td align="left"> <input name="email" type="text" id="email" value="<?php echo $_POST['email']; ?>"/></td> </tr> <tr> <td valign="top">Nachricht: </td> <td align="left"> <textarea name="message" id="message" cols="35" rows="7"><?php echo $_POST['message']; ?></textarea></td> </tr> <tr> <td> <?php echo $Zahl_1; ?> + <?php echo $Zahl_2; ?> = ? </td> <td align="left"> <input size="5" name="number" type="hidden" id="number" value="<?php echo md5(( $Zahl_1 + $Zahl_2 )); ?>"/> <input size="5" name="arithmetic" type="text" id="arithmetic"/> </td> </tr> <tr> <td>IP:</td> <td align="left"> <?php echo $_SERVER['REMOTE_ADDR']; ?></td> </tr> </table> <?php // Wenn KEIN Cookie gegen Spam gesetzt wurde, dann soll der "Senden"-Button anklickbar sein if($_COOKIE["spam_protection"] != "spam_protection") { ?> <br/><input name="submit" type="submit" id="submit" value="Senden" /> <?php } // Wenn aber ein Cookie gegen Spam gesetzt wurde, dann soll der "Senden"-Button blockiert werden if($_COOKIE["spam_protection"] == "spam_protection") { ?> <br/><input name="submit" type="submit" id="submit" value="Senden" disabled="true" /> <?php } ?> </form>[/PHP] </div> <div id="footer"> <ul> <li><a href="1.html" class="footer">Impressum</a> | </li> <li><a href="1.html" class="footer">Kontakt</a></li> </ul> </div> </div> </body> </html>
Kommentar