Formular Hilfe

  • Hallo, ich bräuchte mal eure Hilfe.


    Es wird ein HTML Formular generiert und ein PHP-Code ausgeführt der diese E-Mail wenn alles korrekt ist abschickt und diese noch einmal ausgibt.

    Nun möchte ich folgende Änderungen darin haben:

    Das Feld "E-Mail" soll komplett aus dem Formular und damit auch aus dem PHP Code verschwinden (sonst unnötiges Code)
    Die Ausgabe der verschickten E-Mail, nach erfolgreichen versenden, soll NICHT mehr ausgegeben werden.


    <html>
    <?php
    if($action==$_POST['senden']) {

    // Prüfung der Angaben nach dem Senden


    if(!$_POST['name']) $fehler[] = "Ihr Name fehlt.";
    if(!$_POST['betreff']) $fehler[] = "Der Betreff fehlt.";
    if(!$_POST['inhalt']) $fehler[] = "Sie haben keine Nachricht geschrieben.";
    if(!$_POST['von']) $fehler[] = "Ihre Emailadresse fehlt";

    $empfaenger = "empfaenger@mail.com";

    if(!count($fehler)) { // Sendet Email, wenn Prüfung "ok"

    $betreff = trim(stripslashes($_POST['betreff']));
    $inhalt = trim(stripslashes($_POST['inhalt']));

    @mail($empfaenger,$betreff,$inhalt,"From: ".$_POST['von']);
    echo("<p>Ihre Nachricht wie folgt wurde gesendet.<p>\n\n");
    echo "Name: <b>".$_POST['name']."</b><br>\n";
    echo "Betreff: <b>".$betreff."</b><br>\n";
    echo "Inhalt: <b>".nl2br($inhalt)."</b><br>\n";

    } else { // Fehlerausgabe, wenn Felder leer waren


    echo "Beim Senden traten folgender Fehler auf:";
    echo "<ul><li>".implode("<li>",$fehler)."</ul>";

    }

    }

    ?>
    <form action="<?php echo $PHP_SELF; ?>" method="post">
    <input type="hidden" name="action" value="senden">
    <table><tr>
    <td>Name</td>
    <td><input name="name" value="<?php echo $name; ?>"></td>
    </tr><tr>
    <td>Email</td>
    <td><input name="von" value="<?php echo $von; ?>"></td>
    </tr><tr>
    <td>Betreff</td>
    <td><input name="betreff" value="<?php echo $betreff; ?>"></td>
    </tr><tr>
    <td>Inhalt</td>
    <td><textarea name="inhalt"><?php echo $inhalt; ?></textarea></td>
    </tr><tr>
    <td> </td>
    <td><input type="submit"></td>
    </tr></table></form>
    </html>

  • Tipp: Hier im Forum gibt es für HTML und so extra BB-Codes ;)

    Im HTML musst du nur 1 Zeile (<tr>) entfernen. Welches, wirst du ja wohl selbst sehen.
    Im PHP Code muss oben die Überprüfung von "$_POST['von']" raus, in der Mail-Funktion muss der vierte Parameter entfernt werden und die 4 Zeilen "echo" nach der Mail-Funktion müssen entfernt werden. Soweit ich das sehe, müsste das alles sein.

    Don't follow me, I run into walls.

  • Soweit ich das sehe, müsste das alles sein.


    Bei weitem nicht! Wenn man bei dem Script das Error-Reporting hochdreht, meckert PHP reichlich. PHP_SELF ist total veraltet und auf die Mail-Funktion sollte man besser verzichten und lieber eine fertige Mailer-Klasse w.z.B. den phpMailer nehmen.

  • Nun möchte ich folgende Änderungen darin haben:

    Das Feld "E-Mail" soll komplett aus dem Formular und damit auch aus dem PHP Code verschwinden (sonst unnötiges Code)
    Die Ausgabe der verschickten E-Mail, nach erfolgreichen versenden, soll NICHT mehr ausgegeben werden.


    Wozu ist das ganze anschließend noch brauchbar?

    Niemals provozieren lassen, jeder darf seine Meinung haben.

  • Wozu ist das ganze anschließend noch brauchbar?


    Achtung, das ist nicht die E-Mail zu der es gesendet werden soll. Das ist nur die E-Mail, von der es kommen soll. Die muss man ja nich zwingend angeben...

    @Unregistriert: Es wäre hilfreich, wenn du uns die Fehler dann auch mal posten würdest ^^ Wenn wir nicht wissen was PHP meckert, können wir dir auch nicht helfen.

    Don't follow me, I run into walls.

  • Achtung, das ist nicht die E-Mail zu der es gesendet werden soll.


    Danke für den Hinweis, aber völlig irrelevant, denn die soll ja verschwinden.

    Zitat

    Das Feld "E-Mail" soll komplett aus dem Formular und damit auch aus dem PHP Code verschwinden


    Deswegen meine Frage.
    MfG

    Niemals provozieren lassen, jeder darf seine Meinung haben.