Anzeige:
Ergebnis 1 bis 6 von 6

Thema: Mail senden

  1. #1
    Registrierter Benutzer
    Registriert seit
    13.10.2003
    Beiträge
    6

    Mail senden

    Hallo Community. Ich hab jetzt ein mail skript fast fertig eingerichtet. Ich hab folgendes Problem.Ich will das alle Boxen und Textareas ausgefüllt werden. Geht auch noch. Nur, wenn ich ein bestimmtes vergessen habe auszufüllen, soll das Skript schreiben z.B. Sie müssen ihren Namen eingeben. Könnt ihr helfen?
    Bedanke mich schon mal im vorraus.


    Hier mein jetztiges Skript:


    <?
    /*############### INSTALLATION ###############*/

    // 1. Variablen anpassen
    $title = ""; //Formulartitel
    $recipient = "zensiert :-) "; //Empfänger
    // $subject = ""; //Betreff

    // 2. Seite verlinken

    // 3. Dateien im ASCII Modus auf den Server kopieren

    /*############### SCRIPT ###############*/
    echo "
    <html>
    <head>
    <title>$title</title>
    </head>
    <body>
    <h1>$title</h1>
    <table cellspacing='0' cellpadding='5' border='0'>
    ";

    if(strlen($name) > 3 && strlen($email) > 3 && strlen($message) > 3 && strlen($subject) > 3){
    $mail.="
    Nachricht von: $name ($email)

    Betreff: $subject
    Nachricht:
    $message
    ";

    mail($recipient,$subject,$mail,"From:$name <$email>\n");
    echo "
    <tr>
    <td>Vielen Dank für Ihre Nachricht!<br><br>Ich werde mich sobald wie möglich darum kümmern.</td>
    </tr>
    ";
    }
    else
    echo "
    <form action='$PHP_SELF' method='post'>
    <tr>
    <td colspan='2'>Bitte füllen Sie alle Felder korrekt aus!</td>
    </tr>
    <tr>
    <td>Ihr Name: </td>
    <td><input type='text' name='name' value='$name'></td>
    </tr>
    <tr><td>Ihr Bertreff:</td>
    <td><label>
    <input type='radio' name='subject' value='Terminnachfrage'>
    Terminanfrage</label></td>
    </tr>
    <tr><td> </td>
    <td><label>
    <input type='radio' name='subject' value='Preisnachfrage'>
    Preisnachfrage</label></td>
    </tr>
    <tr>
    <td>Ihre eMail-Adresse: </td>
    <td><input type='text' name='email' value='$email'></td>
    </tr>
    <tr>
    <td valign='top'>Ihre Nachricht: </td>
    <td><textarea wrap='virtual' name='message'>$message</textarea></td>
    </tr>
    <tr>
    <td>&nbsp;</td>
    <td><input type='submit' value='Abschicken'> <input type='reset' value='Abbrechen'></td>
    </tr>

    </table>

    </form>
    ";

    echo "
    </table>
    </body>
    </html>
    ";
    ?>

  2. #2
    Registrierter Benutzer Avatar von elrond
    Registriert seit
    03.10.2001
    Ort
    potsdam
    Beiträge
    881
    das kannst du nur beim Seitenaufbau nochmals prüfen:

    statt
    PHP-Code:
     <td>Ihr Name: </td>
    <
    td><input type='text' name='name' value='$name'></td>
    </
    tr
    benutzt du einfach

    PHP-Code:
    $nfeld=$name;
    if(
    strlen($name) > 3) { $nfeld="<input type='text' name='name' value='$name'>";}
    <
    td>Ihr Name: </td>
    <
    td>$nfeld</td>
    </
    tr
    "Um die Welt zu ruinieren, genügt es, wenn jeder seine Pflicht tut." (Winston Churchill)

  3. #3
    Registrierter Benutzer
    Registriert seit
    13.10.2003
    Beiträge
    6
    Bei mir kommt da nur ein Parse Error( ja ; ist gesetzt :-) )

    Kannst du mir vielleicht den betreffenden Abschnit kurz schreiben, weil ich nicht richtig weiß wie ich das machen soll.
    Danke für deine Mühe

  4. #4
    Registrierter Benutzer Avatar von elrond
    Registriert seit
    03.10.2001
    Ort
    potsdam
    Beiträge
    881
    Du hast aber schon vor dich mit php zu beschäftigen, oder?
    Wenn Du nur ein Script suchst um Mails zu verschicken findest du im Internet reichlich davon. >>Goolge ist dein Freund<<

    Wenn Du allerdings PHP lernen möchtest, solltest Du einfach mein Stück Code von oben nehmenen und damit Dein Problem lösen.

    Ein Tip zu deinem Code: Schließ doch mal den else-Teil deine if-Abfrage auch in geschweifte klammern ein.( Ist zwar erst dann notwendig wenn mehr als eine Anweisung in den Block kommt, vermeidet aber an dieser stelle mögliche spätere Fehler... ) Wenn Du dann VOR dem echo die notwendigen Variabeln belegst, sollte nichts mehr schiefgehen.
    "Um die Welt zu ruinieren, genügt es, wenn jeder seine Pflicht tut." (Winston Churchill)

  5. #5
    Registrierter Benutzer
    Registriert seit
    13.10.2003
    Beiträge
    6
    Das mit Google habe ich gestern getan :-) Hab ein Script gefunden, das jetzt fast perfekt läuft. Brauch nur noch in einem Punkt Hilfe. Wenn eine E-Mail versendet wurde, zeigt er bei mir nicht die eingegebene E-Mail Adresse an. Das Hatte ich vor indem ich zwei Variablen zuammenfüge ( Also hier
    $Subject = $Emailsender . $ Betreff ). Nur weiß ich nicht an welche Stelle dieses Stück hin muss. Ich habe mal so ein paar Stellen versucht, die für mich richtig waren, aber ich bekomme nur ein Parse Error. Könnt ihr helfen?

    P.s.: Ja, ich habe vor mich mit PHP zu beschäftigen. Hab hier ein 750 Seitiges Buch durchgelesen, jetzt versuche ich mich an der Praxis.

    P.p.s.: Hier mein jetziger Code:


    <?php
    #
    # Mit "emailform" koennen Besucher Ihrer Homepage E-Mails an eine vorher festgelegte E-Mail-Adresse versenden.
    # Der erste Aufruf erstellt einen Formular mit den Feldern Empfaenger, Betreff und Text der Nachricht.
    # Bevor die E-Mail abgeschickt wird, erfolgt eine Überprüfung der Eingabe.
    # Falls nicht alle Formularfelder Eingaben enthalten, wird der Formular erneut aufgerufen.
    # Die bisherigen eingegebenen Werte werden uebernommen und ein Hinweis wird eingeblendet.
    # Erst wenn keine Eingaben fehlen, wird die Mail gesendet.
    #
    # Das PHP-Programm emailform.php kann frei kopiert, modifiziert und benutzt werden.
    # Der Einsatz dieses Programms erfolgt auf eigenes Risiko des Benutzers.
    # Die Autoren übernehmen keine Verantwortung für die Folgen des Einsatzes.
    # Der Verkauf ohne Zustimmung von cgidienst.de auch in einer modifizierten Form ist unzulaessig.
    #
    # Powered by cgidienst.de mailto:info@cgidienst.de
    #

    #
    # Variablen
    #
    $To = "meine e-mailadresse"; # Empfaenger der E-Mail
    $Autoresponder = ""; # Absender der Autorespondernachricht
    $Autoresponder = $To; #
    $response = "response.php"; # Antwortseite
    $errorpage = "errorpage.php"; # Fehlerseite

    #
    # Diese Funktion Ueberprueft die Eingaben
    #
    function CheckInput ($input)
    {
    $missing = 0;

    if (! $input[From]) { $missing ++; }
    if (! $input[Betreff]) { $missing ++; }
    if (! $input[Message]) { $missing ++; }
    if (! $input[Emailsender]) { $missing ++; }
    return $missing;
    }


    #
    # Diese Funktion versendet eine Mail
    #
    function SendMail ($To, $Betreff, $Message, $From)
    {
    $valid = $To && $Betreff && $Message && $From;
    if (! $valid)
    {
    return 1;
    }
    $ret = mail ("$To", "$Betreff", "$Message", "From: $From");
    if (! $ret)
    {
    return 2;
    }
    return 0;
    }

    if ($Send)
    {
    # Der Button "Senden" wurde angeklickt.
    $errors = CheckInput ($HTTP_POST_VARS);
    if (! $errors)
    {
    # Alle Eingaben vorhanden
    $ret = SendMail ($To, $Betreff, $Message, $From);
    if ($ret != 0)
    {
    # Vielleicht haben Sie vergesssen, den Empfaenger einzutragen
    # sehe Variable $To am Anfang
    require ("$errorpage");
    }
    else
    {
    if ($Autoresponder)
    {
    $Response = "Ihre Mail wurde an $To weitergeleitet.\n";
    SendMail ($From, $Betreff, $Response, $Autoresponder);
    }
    require ("$response");
    }
    exit ();
    }
    else
    {
    $Hinweis = "<b>F&uuml;llen Sie alle mit * gekennzeichneten Felder aus!</b><br>\n";
    }
    }
    ?>

    <HTML>
    <HEAD>
    <TITLE>Senden Sie uns eine E-Mail</TITLE>
    </HEAD>
    <BODY bgcolor="#FFFFFF">
    <H1>Senden Sie uns eine E-Mail</H1>
    <form name="Email" method="POST">
    <table width="584">
    <!--DWLayoutTable-->
    <tr>
    <td width="175" height="21" valign="top">Name / Vorname: *</td>
    <td colspan="2" rowspan="2" valign="top"><input name="From" value=<?php echo "\"$From\"";?> size="40"></td>
    <td width="1"></td>
    </tr>
    <tr>
    <td rowspan="2" valign="top">E-Mail Adresse: *</td>
    <td height="1"></td>
    </tr>
    <tr>
    <td colspan="2" rowspan="2" valign="top"><input name="Emailsender" type="text" size="40" id="Emailsender"></td>
    <td height="21"></td>
    </tr>
    <tr>
    <td rowspan="2" valign="top">Betreff: *</td>
    <td height="1"></td>
    </tr>
    <tr>
    <td colspan="2" rowspan="2" valign="top"><label>
    <input type='radio' name='Betreff' value='Terminanfrage'>
    Terminanfrage</label></td>
    <td height="18"></td>
    </tr>
    <tr>
    <td height="1"></td>
    <td></td>
    </tr>
    <tr>
    <td height="21"></td>
    <td colspan="2" valign="top"><label>
    <input type='radio' name='Betreff' value='Preisnachfrage'>
    Preisnachfrage</label></td>
    <td></td>
    </tr>
    <tr>
    <td height="88" valign="top">Ihre Nachricht:* </td>
    <td width="381" valign="top"><textarea name="Message" rows="4" cols="40"><?php echo "$Message";?></textarea></td>
    <td width="1">&nbsp;</td>
    <td></td>
    </tr>
    <tr>
    <td height="32">&nbsp;</td>
    <td>&nbsp;</td>
    <td></td>
    <td></td>
    </tr>
    <tr>
    <td height="26">&nbsp;</td>
    <td valign="top"><input type="submit" name="Send" value="Senden" size="40"></td>
    <td></td>
    <td></td>
    </tr>
    <tr>
    <td height="54">&nbsp;</td>
    <td>&nbsp;</td>
    <td></td>
    <td></td>
    </tr>
    </table>
    </form>
    <?php echo "$Hinweis\n"; ?>
    <HR>
    </BODY>
    </HTML>

  6. #6
    Registrierter Benutzer
    Registriert seit
    13.10.2003
    Beiträge
    6
    Vergesst es. Habs mittlerweile genauso wie ich es wollte :-) Danke trotzdem nochmal

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •