kostenloser Webspace werbefrei: lima-city


Frage zu PHP E-Mail Formular

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    c****y

    Hallo Zusammen

    Ich habe gestern begonnen PHP zu lernen.
    Heute habe ich so ein Ding gemacht wo leute, die keine E-Mail adresse habe eins senden k?nnen ohne adresse.
    f?r euch profis ist das ein billiger script aber f?r mich ist es ein meilenstein, da ich alles selber gemacht habe. nix tutorial.

    zu meiner frage:

    ich habe zwei scripte: einmal: formulareingabe.php
    einmal: formular.php
    script aus formular.php:

    <?php
    $empfaenger="$email";
    $betreff = "$betreff";
    $nachricht = "Von: $textfeld

    $textarea


    -----------------------
    Bitte nicht an diese E-Mail Adresse zur?ckschreiben.
    Free E-Mail versand von http://www.chriwy.tk";

    mail($empfaenger, $betreff, $nachricht, "FROM: Formular");
    echo "Dein Mail wurde versendet"
    ?>

    Wie kann ich machen, das es die Felder erst ?berpr?ft bevor es gesendet wird????
    Das z.b. steht: Nicht korrekte E-Mailadresse???

    Vielen Dank f?r eure Hilfe.

    gruss chriwy


    ps: hier k?nnt ihr es testen:
    http://chriwy.pyrokar.lima-city.de/formulareingabe.php
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Autor dieses Themas

    c****y

    Kann mir denn niemand helfen?

    ich kann auch noch denn anderen script geben.

    please help!!!

    Visit: http://www.chriwy.tk
  4. Ich glaube, das geht nich, das mit PHP zu ?berpr?fen ob es die Mailaddy gibt, aber du kannst schauen ob es z.B. ein "@" in der Variable $email gibt, wei? nur grad den genauen code nich, is wahrscheinlich was mit ner If schleife. ich kann mal den Code nachschauen, warte aber nich...
  5. Autor dieses Themas

    c****y

    hi ja das geht

    nen kolleg hat mir das mal gemacht als ich noch knapp html konnte. es muss irgendwie funzen!!
  6. Mit PHP geht das nicht, wirklich, du kannst nur gucken ob die Adresse richtig eingegeben wurde. Such doch einfach mal nach "PHP-mail" oder so bei http://www.google.de
  7. Autor dieses Themas

    c****y

    wie hat das denn mein freund gemacht???
    ich kopiere dir hier mal den script von ihm:



    <?

    $error="";
    if(isset($_POST["email"] )){

    if($_POST["name"]==""){
    $error.='Kein Name <br>';
    }

    if($_POST["email"]==""){
    $error.='Kein E-Mail <br>';
    }
    if($_POST["comment"]==""){
    $error.='Kein Kommentar <br>';
    }

    $valid = (eregi ("^([a-z0-9_]|\\-|\\.)+@(([a-z0-9_]|\\-)+\\.)+[a-z]+$",$email));
    if (!$valid == 1){
    $error='Nicht korrekte E-Mail!';}

    if($error==""){
    mail("chriwy@gmx.net", 'Feedback', " Von:".$_POST["name"]. "\n E-Mail: ".$_POST["email"]."\n Nachricht:".$_POST["comment"]);
    echo" Vielen Dank!!! Dein Feedback wurde versendet!!!";
    }else{
    echo"<p class='Fehlertitel'>Fehler: <p class='Fehler'> $error</p>";

    }
    }

    // Nach Echo
    echo"
    <html>
    <head>
    <title>Feedback chriwy.tk</title>
    <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'>
    <link rel='stylesheet' type='text/css' href='format.css'>

    <style type='text/css'>
    <!--
    body,td,th {
    font-family: Verdana, Arial, Helvetica, sans-serif;
    color: #CCFF00;
    }
    body {
    background-color: #000000;
    }
    -->
    </style></head>

    <body>
    <table width='70%' border='0' class='notice'>
    <tr align='left' valign='top'>
    <td><p class='titel'>&nbsp;</p>
    <form name='form1' method='post' action='".$PHP_SELF."'>
    <table width='74%' border='0' class='notice'>
    <tr align='left' valign='top'>
    <td width='24%'>Name: </td>
    <td width='45%' colspan='2'><input name='name' type='text' size='25' value='".$_POST["name"]."'></td>
    </tr>
    <tr align='left' valign='top'>
    <td>E-Mail: </td>
    <td colspan='2'><input type='text' name='email' size='25' value='".$_POST["email"]."'></td>
    </tr>
    <tr align='left' valign='top'>
    <td>Kommentar:</td>
    <td colspan='2'><textarea name='comment' value='".$_POST["comment"]."'></textarea></td>
    </tr>
    <tr><td><input type='submit' value='Abschicken'></td></tr>
    </table>
    </form></td>
    </tr>
    </table>
    <p>&nbsp; </p>
    </body>
    </html>
    ";
    //Bis vor "
    ?>




    Vieleicht kannst du ja was damit anfangen!

    gruss chriwy
  8. b***u

    Hoi.

    aliendwarf's Antworten sind v?lliger schwachsinn. Folgende Zeilen sind hier wichtig:

    $valid = (eregi ("^([a-z0-9_]|\\-|\\.)+@(([a-z0-9_]|\\-)+\\.)+[a-z]+$",$email));
    if (!$valid == 1){
    $error='Nicht korrekte E-Mail!';
    }

    Da ist das @-Zeichen bei. Es gibt keine Mail-Adresse, ohne ein @-Zeichen!

    Liebe Gr??e,
    Ballu
  9. k*****h

    Hallo,
    <?php
    if(!ereg("^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*$", $email))
    {
    echo "mail falsch";
    }
    else
    {
    echo "Mail richtig";
    }
    so m?sste es gehen habs aber nicht gepr?ft.
  10. Autor dieses Themas

    c****y

    merci

    aber was muss ich genau bei den scrips reinschreiben dammit das nicht nur bei der e-mail geht???

    bitte um erkl?hrung!


  11. ballu schrieb:
    Hoi.

    aliendwarf's Antworten sind v?lliger schwachsinn. Folgende Zeilen sind hier wichtig:

    $valid = (eregi ('^([a-z0-9_]|\\-|\\.)+@(([a-z0-9_]|\\-)+\\.)+[a-z]+$',$email));
    if (!$valid == 1){
    $error='Nicht korrekte E-Mail!';
    }

    Da ist das @-Zeichen bei. Es gibt keine Mail-Adresse, ohne ein @-Zeichen!

    Liebe Gr??e,
    Ballu

    n?, er sagt genau das selbe wie du :cool:


    kwirsch schrieb:
    Hallo,
    <?php
    if(!ereg('^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*$', $email))
    {
    echo 'mail falsch';
    }
    else
    {
    echo 'Mail richtig';
    }
    so m?sste es gehen habs aber nicht gepr?ft.

    steht doch oben :slant:

    chriwy schrieb:
    merci

    aber was muss ich genau bei den scrips reinschreiben dammit das nicht nur bei der e-mail geht???

    bitte um erkl?hrung!

    ?hm
    das is egal welche email addy eingegeben wird!
    es muss nur immer so aussehen
    asfadigb3145@ab35.agh9?3h
    oder auch xy@xy.xy
    bloss halt nach dem muster
  12. Autor dieses Themas

    c****y

    das hilft mir nicht weiter!
  13. Es ist technisch absolut unm?glich, zu ?berpr?fen, ob es eine vom User eingetragene E-mail-Adresse gibt.

    M?glich ist:
    a) ?berpr?fung, ob in der scheinbaren E-Mail-Adresse ein (keine 2, keine 5, nur 1x) "@" vorkommt,
    b) ?berpr?fung, ob VOR dem "@" es deutsche Umlaute gibt (was noch nicht sein darf).
    c) ?berpr?fung, ob es nach dem "@" die Domain auch tats?chlich gibt.

    zu a:
    Einfache Abfrage, die wurde oben schon gepostet

    zu b:
    Die E-Mail-Adresse "H?nschen@M?ller.de" gibt es (noch) nicht, weil das "?" vor dem @ noch nicht Normgerecht ist. Das "?" in der Domain ist Normgerecht und akzeptabel. Also ein "Hans@M?ller.de" ist eine E-Mail-Adresse, die der Norm entspricht.
    Ob es sie aber ?berhaupt gibt .... das weis man zu diesem Zeitpunkt nicht.

    zu c:
    Dazu m??test Du eine sehr sehr gro?e Liste F?hren, zumal jede neue Domain weltweit darin enthalten sein m??te. .. Das ist wegen der Datenmenge absolut unm?glich zu bewerkstelligen.

    Was Du machen kannst ist:
    Pr?fe, ob die Adresse normgerecht ist
    Pr?fe, ob kein offensichtlicher Unsinn rein geschrieben wurde "nobody@nobody.de" oder so kannst Du ausfiltern mit "IF-Suchen".

    Es ist nicht m?glich, die E-Mail-Adresse vor dem eigentlichen Absenden wirklich zu pr?fen.

    Das w?re nur denkbar, wenn alle E-mail-Adressen irgendwo zentral gespeichert w?ren. So ein Verzeichnis gibt es aber nicht.
    ODER
    wenn man eine kurze "Pr?f-E-Mail" an den vorraussichtlichen Empf?nger schickt. Falls diese Pr?f-E-Mail mit dem Vermerk "Empf?nger unbekannt" zur?ckkommt wird es diese E-mail-Adresse nicht geben.
    Falls diese E-mail aber nicht zur?ckkommt kann man NICHT schlu?folgern, dass es diese E-Mail-Adresse auch tats?chlich gibt.
    Es kann sein, dass der Domain-Server E-Mails an nicht vorhandene Konten ignoriert, dass diese "Pr?f-E-mail" in einem totem Postfach landet oder dass sie mehrfach un- und weitergeleitet wird. ...


    Also:
    Es gibt keine tech. M?glichkeit, zu ermitteln, ob es eine eingegebene E-Mail-Adresse auch wirklich gibt.
  14. Autor dieses Themas

    c****y

    hi

    du hast mich falsch verstanden. es muss nicht die adresse ?berpr?fen, sondern nur ob eine eingegeben wurde.
    das gleiche bei den anderen feldern.

    schau es dir mal an unter
    http://chriwy.pyrokar.lima-city.de/html/formular/formulareingabe.php

    gruss chriwy
  15. m***s


    if(isset($_POST["email"] )){

    if($_POST["name"]==""){
    $error.='Kein Name <br>';
    }

    if($_POST["email"]==""){
    $error.='Kein E-Mail <br>';
    }
    if($_POST["comment"]==""){
    $error.='Kein Kommentar <br>';
    }

    Damit ?berpr?fst du ob in die Textfelder "email" "name" und "comment" (jeweils ohne die "") in deinem Formular etwas eingegeben wurde.
  16. warum einfach wenns kompliziert geht...

    if (!empty($email) && !empty($name)){
    mail ($empf?nger ....);
    echo "Mail gesendet";
    }else{
    echo "Fehler";
    }

    mfg asmodeus
  17. Autor dieses Themas

    c****y

    hey jungs!

    k?nnt ihr mir das an meinen script erkl?hren und gerade so einf?gen? so das ich es verstehe.
    ich "lerne" php erst seit 2 tagen. also bitte etwas ausf?hrlicher.

    danke f?r eure geduld

    gruss chrigel
  18. ?brigens, chriwy: So etwas wie deinen Service gibt es bestimmt schon 100mal!
    Und warum sagst du nicht gleich was du willst?
    -AlienDwarf
  19. einfach statt dem "mail(....);"

    mfg asmodeus
  20. Autor dieses Themas

    c****y

    @aliendwarf

    ich kann ja noch nichts anderes also bastle ich mal so was. du konntest warscheinlich am zweiten tag auch noch nicht mega thunder scrips schrieben oder?
  21. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!