Loading...   Upload Image

eigener Formmailer klappt nichtForum » Webzone » PHP & MySQL » eigener Formmailer klappt nicht

Neues Thema verfassen Neues Thema

  • NiniEngelUser ist offline
    Newbie


    NiniEngel

    Registriert: 09.08.2009
    Beitraege: 18

    22.08.2009 um 18:37 Uhr



    Der Beitrag wurde insgesamt 1 mal editiert, zuletzt 22.08.2009 um 18:52 Uhr ...
  • AliceUser ist offline
    Admin


    Alice

    Registriert: 14.12.2006
    Beitraege: 1059

    22.08.2009 um 21:22 Uhr

    Hallo,

    mit dem Link zur Seite kann ich da nicht viel anfangen, ich braeucht den Code, sonst kann ich da recht wenig zu sagen ;)

    Liebe Gruesse
    Alice



    ... { signatur } ...
  • NiniEngelUser ist offline
    Newbie


    NiniEngel

    Registriert: 09.08.2009
    Beitraege: 18

    22.08.2009 um 22:48 Uhr



  • AliceUser ist offline
    Admin


    Alice

    Registriert: 14.12.2006
    Beitraege: 1059

    22.08.2009 um 23:39 Uhr

    $from = "From: EMAILADRESSEn";
    mail($empfaenger, $betreff, $mailtext, $from);

    Dann klappts auch mit dem Nachbarn Verschicken ;)



    ... { signatur } ...
  • NiniEngelUser ist offline
    Newbie


    NiniEngel

    Registriert: 09.08.2009
    Beitraege: 18

    22.08.2009 um 23:50 Uhr



    Der Beitrag wurde insgesamt 2 mal editiert, zuletzt 23.08.2009 um 01:42 Uhr ...
  • AliceUser ist offline
    Admin


    Alice

    Registriert: 14.12.2006
    Beitraege: 1059

    23.08.2009 um 08:17 Uhr

    Kennst du eigentlich das PHP Manual?
    Das ist ein prima Nachschlagewerk, gerade fuer so haeufig gebrauchte Befehle wie mail(); ...

    Und ja die Doubleqoutes(";) sind wichtig, gehoeren da aber NUR hin,
    wenn keine Variable uebergeben wird, sonst wird die Variable als String behandelt, sprich der Empfaenge haette bei dir $empfaenger gelautet, der Betreff $betreff usw.

    Variablen werden bei mail();, und vielen anderen Befehlen auch, ohne DQ gehandhabt ;)

    $from = "From: EMAILADRESSEn";

    War als Beispiel gedacht und muesste bei dir lauten:
    $from = "From: ".$email."";

    Ich wuerde das Script allerdings so niemals einsetzen, ohne vorher Usereingaben gefiltert zu haben, da Formmailer gerne missbrauch werden ...

    Denn wenn man da jetzt z.B. "/r/nbcc: emails@email.com" ins Feld schreiben wuerde, dann wuerde die Mail auch an emails@mail.com verschickt werden, was sicherlich nicht nach deinem Geschmack waere ...

    Weiterfuehrende Links:
    www.dislabs.de/index.php?ac=labor&sub=5&id=16
    www.damonkohler.com/2008/12/email-injection.html

    Liebe Gruesse
    Alice



    ... { signatur } ...
  • NiniEngelUser ist offline
    Newbie


    NiniEngel

    Registriert: 09.08.2009
    Beitraege: 18

    23.08.2009 um 20:25 Uhr



  • AliceUser ist offline
    Admin


    Alice

    Registriert: 14.12.2006
    Beitraege: 1059

    23.08.2009 um 22:28 Uhr

    Die Reloadsperre ist eigentlich nur dazu da, dass man ueber das Formular nicht massenweise Nachrichten verschickt, viel viel wichtiger ist die Ueberpruefung der Usereingaben, damit nicht jeder Depp dahergegen kann, um dein Script fuern Spamversand nutzen zu koennen!

    => Kontaktformulare absichern

    So funktionierts auf alle Faelle ;)

    <?php // include("head.php");?>
    
    <!--------------INHALT----------------->
    
    <?php
    
    if(isset($_POST['submit'])){
    
    	$name = get_magic_quotes_gpc() ? stripslashes($_POST['name']) : $_POST['name']; 			// Name
    	$email = get_magic_quotes_gpc() ? stripslashes($_POST['email']) : $_POST['email']; 			// Emailadresse
    	$telefon = get_magic_quotes_gpc() ? stripslashes($_POST['telefon']) : $_POST['telefon']; 	// Telefon
    	$telefax = get_magic_quotes_gpc() ? stripslashes($_POST['telefax']) : $_POST['telefxa']; 	// Telefax
    	$text = get_magic_quotes_gpc() ? stripslashes($_POST['text']) : $_POST['text']; 			// Nachricht
    
    	if(empty($name) || empty($email) || empty($text)){ // Sofern nicht alles angegeben
    		$message .=  "Bitte danke alle benoetigten Felder ausfuellen ...<br />"; $error = "1";
    	}
    	
    	if(!(eregi("^[A-Za-z0-9]", $name)) OR (eregi("n|r", $name))){ // Name pruefen
    		$message .=  "Der Name enthaelt unzulaessige Zeichen ...<br />"; $error = "1";
    	}
    		
    	if (!(eregi("^.+@.+..+$", $email)) OR (eregi("n|r", $email))){ // Email auf korrektheit pruefen
    		$message .=  "Die Emailadresse scheint nicht korrekt zu sein ...<br />"; $error = "1";
    	}		
    
    	if($error == "1"){ // Fehlermeldung ausgeben
    	
    		echo "<h2>Error ...</h2><p>".$message."</p>";
    	
    	}else{  // Wenn kein Fehler war
    	
    		// Mailtext ...		
    		$mailtext = "Name: $name\n";
    		$mailtext.= "Telefon: $telefon \n";
    		$mailtext.= "Telefax: $telefax \n";
    		$mailtext.= "eMail: $email \n\n";
    		$mailtext.= "Mitteilung: $text\n";
    		
    		// Mail verschicken
    		if(mail("nini@little-strange.de", "Contact", $mailtext, "From: ".$email)){
    			header("Location: danke.php"); // Weiterleitung
    		}
    	} // close fehler
    } // close submit
    ?>
    
    <div class="title">Contact</div>
    <form action="" method="post">
    <table border="0" width="500" cellspacing="0" cellpadding="0" align="center">
    <tr>
    <td width="200">Name <b>*</b></font></td>
    <td width="300"><input type="text" name="name"></td>
    </tr>
    <tr>
    <td height="15" colspan="2"></td>
    </tr>
    <tr>
    <td width="200">Telefon</td>
    <td width="300"><input type="text" name="telefon"></td>
    </tr>
    <tr>
    <td height="5" colspan="2"></td>
    </tr>
    <tr>
    <td width="200">Telefax</td>
    <td width="300"><input type="text" name="telefax"></td>
    </tr>
    <tr>
    <td height="15" colspan="2"></td>
    </tr>
    <tr>
    <td width="200">eMail <b>*</b></td>
    <td width="300"><input type="text" name="email"></td>
    </tr>
    <tr>
    <td height="15" colspan="2"></td>
    </tr>
    <tr>
    <td width="200" valign="top">Mitteilung <b>*</b></td>
    <td width="300"><textarea cols="30" rows="10" name="text"></textarea></td>
    </tr>
    <tr>
    <td height="15" colspan="2"></td>
    </tr>
    <tr>
    <td width="200">Formular</td>
    <td width="300"><input type="submit" value="Senden" name="submit"></td>
    </tr>
    <tr>
    <td height="15" colspan="2"></td>
    </tr>
    <tr>
    <td width="200"></td>
    <td width="300"><b>*</b> - notwendige Angaben!</td>
    </tr>
    </table>
    </form>
    
    <!--------------INHALT ende----------------->
    
    <?php // include("foot.php");?>



    Der Beitrag wurde insgesamt 1 mal editiert, zuletzt 23.08.2009 um 22:30 Uhr ...
    ... { signatur } ...
  • NiniEngelUser ist offline
    Newbie


    NiniEngel

    Registriert: 09.08.2009
    Beitraege: 18

    23.08.2009 um 22:49 Uhr



    Der Beitrag wurde insgesamt 1 mal editiert, zuletzt 23.08.2009 um 23:08 Uhr ...
  • AliceUser ist offline
    Admin


    Alice

    Registriert: 14.12.2006
    Beitraege: 1059

    24.08.2009 um 08:14 Uhr

    Mhh, ja ich seh grad, mein Forum hat da ein paar / gefuttert ...

    Bei den Zeilen fehlte etwas:

    if(!(eregi("^[A-Za-z0-9]", $name)) OR (eregi("\n|\r", $name))){ // Name pruefen
    $message .= "Der Name enthaelt unzulaessige Zeichen ...<br />"; $error = "1";
    }

    if (!(eregi("^.+@.+\\..+$", $email)) OR (eregi("\n|\r", $email))){ // Email auf korrektheit pruefen
    $message .= "Die Emailadresse scheint nicht korrekt zu sein ...<br />"; $error = "1";
    }



    ... { signatur } ...

[ 1 ] Seite 1 von 1


Affiliates:   Gallery Yuri  •   Chibi Graphics  •   Blue-Graphics  •   The Seduction  •   Pat DG  •   Design Grafixx  •   Colorful Gfx  • Show all ...
designenlassen.de - Der Design-Marktplatz für Webdesign, Logo-Design, Flyerdesign u.v.m.        ALL-INKL.COM - Webhosting Server Hosting Domain Provider