tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
3
ZUGRIFFE
365
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    andreano andreano ist offline Mitglied Bronze
    Registriert seit
    Aug 2011
    Ort
    Nähe Köln (NRW)
    Beiträge
    46
    Guten Morgen/ Tag,
    ich habe in Kontaktformular erstellt, der Senden die Daten an eien Bestimmte E-Mail Adresse.
    Das Funktioniert alles einwandfrei und Perfekt, auch die Meldung das die Daten abgeschickt bzw. mann die *Pfllichtfelder nciht Ausgefühlt hat kommt.

    Mein nächster Problem/wunsch ist das ich was ganz besonderes haben will.

    Beispiel:
    Kunde Füllt nicht alles aus -> Folge es erscheint ein Text "Bla bla bla nicht allles ausgefühlt!" dazu will ich noch mein Spezial habe, dass nähmlich die *Pflichtfelder im .css ein boarder von 2 px bekommen.
    Das alles soll nur dann passieren wenn der Kunde die Pflichtfelder nciht Ausgefühlt hat!

    ps. sorry für die grammatik ( wenn was nicht stimmt )

    Danke im Voraus

    Gruß Aleks

    -----------------------------------------------------------------------------------------------------------------------------

    So jungs/mädels hier ist die von mir versprochene Lösung zu meinem einem Problem:
    Das ist der Callback Formular:
    PHP-Code:
    <?php
    $errorvorname 
    false;
    $errornachname false;
    $errortext false;
    $errortelefonnummer false;

    if (
    $_POST["Senden"] == 'Absenden'){
            if (!(
    $_POST["vorname"] != '' && $_POST["nachname"] != ''  && $_POST["text"] != ''  && $_POST["telefonnummer"] != '')){
                if (
    $_POST["vorname"] == '' $errorvorname true;
                if (
    $_POST["nachname"] == ''$errornachname true;
                if (
    $_POST["text"] == ''$errortext true;
                if (
    $_POST["telefonnummer"] == ''$errortelefonnummer true;
            }
    }
    ?>
    <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">
        <div class="call-back">
        <span class="special-info">* Pflichtfelder</span><br><br>
        <label for="vorname">Vorname<span class="special-info">*</span></label><input value="<?php echo $_POST["vorname"]; ?>" type="text" name="vorname" id="vorname" class="block-input<?php if ($errorvorname){echo ' error';}?>"><br>
        <label for="nachname">Nachname<span class="special-info">*</span></label><input value="<?php echo $_POST["nachname"]; ?>" type="text" name="nachname" id="nachname" class="block-input<?php if ($errornachname){echo ' error';}?>"><br>
        <label for="telefonnummer">Telefonnummer<span class="special-info">*</span></label><input value="<?php echo $_POST["telefonnummer"]; ?>" type="text" name="telefonnummer" id="telefonnummer" class="block-input<?php if ($errortelefonnummer){echo ' error';}?>"><br>
        <label for="text">Anlegen<span class="special-info">*</span></label><textarea value="<?php echo $_POST["text"]; ?>" rows="8" cols="69" type="text" name="text" id="text" class="block-input<?php if ($errortext){echo ' error';}?>"></textarea><br>
        <?php
        
    /**
        * Simple example script using PHPMailer with exceptions enabled
        * @package phpmailer
        * @version $Id$
        */
        
    require './PHPMailer_5.2.0/class.phpmailer.php';
        
    $emailContent[] = '
        <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
        <html>
          <head>
            <title>Email test</title>
            <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          </head>
          <body>
          '
    ;
        
    //Empfang-anfang
        
    $nachricht $_POST["text"];
        
    $vorname $_POST["vorname"];
        
    $nachname $_POST["nachname"];
        
    $telefonnummer $_POST["telefonnummer"];
        
    //Empfang-ende
        
    if ($_POST["Senden"] == 'Absenden'){
            if (
    $_POST["vorname"] != '' && $_POST["nachname"] != ''  && $_POST["text"] != ''  && $_POST["telefonnummer"] != ''){
            
    $emailContent[] = '<p>Folgende Daten wurden über das Kontaktformular übermittelt:</p>';
            
    $emailContent[] = '<p>Vorname: '.$vorname.'</p>';
            
    $emailContent[] = '<p>Nachname: '.$nachname.'</p>';
            
    $emailContent[] = '<p>Telefonnummer: '.$telefonnummer.'</p>';
            
    $emailContent[] = '<p>Anfrage: '.$nachricht.'</p>';
            
    $emailContent[] = '
            </body>
            </html>
            '
    ;
            
    $emailCompleteContent implode''$emailContent );
            try {
                
    $mail = new PHPMailer(true); //New instance, with exceptions enabled
                //$body             = file_get_contents('contents.html');
                
    $body $emailCompleteContent;
                
    $body             preg_replace('/\\\\/',''$body); //Strip backslashes
            
                
    $mail->IsSMTP();                           // tell the class to use SMTP
                
    $mail->SMTPAuth   true;                  // enable SMTP authentication
                
    $mail->Port       25;                    // set the SMTP server port
                
    $mail->Host       "localhost"// SMTP server
                //$mail->Username   = "name@domain.com";     // SMTP server username
                //$mail->Password   = "password";            // SMTP server password
            
                
    $mail->IsSendmail();  // tell the class to use Sendmail
            
                
    $mail->AddReplyTo("grins@trash-mail.de","name");
            
                
    $mail->From       "sender email@email.de";
                
    $mail->FromName   "Name";
            
                
    $to "empfänge@mail";
            
                
    $mail->AddAddress($to);
            
                
    $mail->Subject  "Test Rückrufformular";
            
                
    $mail->AltBody    "To view the message, please use an HTML compatible email viewer!"// optional, comment out and test
                
    $mail->WordWrap   80// set word wrap
            
                
    $mail->MsgHTML($body);
            
                
    $mail->IsHTML(true); // send as HTML
            
                    
    $mail->Send();
                    echo 
    'Wir werden so schnell wie möglich mit Ihnen in Kontakt treten.<br>';
                } catch (
    phpmailerException $e
                    {
                        echo 
    $e->errorMessage();
                    }
                }
                else{
                    echo 
    '<br>Sie haben nicht alle <span class="special-info">* Pflichtfelder</span> Ausgefühlt.<br>';
                }
            }
            
    //pflichtfelder anfrage ende
            
    ?>
        <input type="submit" value="Absenden" name="Senden" class="input-submit">




    -------------------------------------------------------------------------------------------------------------------------

    Und das hier ist der Kontaktformular:
    PHP-Code:
    <?php

    $errorname 
    false;
    $errorstrasse false;
    $errorstadt false;
    $errorplz false;
    $erroremail false;
    $errortext false;

    if (
    $_POST["Senden"] == 'Absenden'){
        if (!(
    $_POST["name"] != '' && $_POST["strasse"] != ''  && $_POST["stadt"] != ''  && $_POST["plz"] != ''  && $_POST["email"] != ''  && $_POST["text"] != '' )){
            if (
    $_POST["name"] == '' $errorname true;
            if (
    $_POST["strasse"] == '' $errorstrasse true;
            if (
    $_POST["stadt"] == '' $errorstadt true;
            if (
    $_POST["plz"] == '' $errorplz true;
            if (
    $_POST["email"] == '' $erroremail true;
            if (
    $_POST["text"] == '' $errortext true;
        }
    }

    ?>
        <h2 class="headline"><br />Kontaktformular</h2>
        <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">
        <div class="block">
        <span class="special-info">* Pflichtfelder</span><br><br>
            <label class="label-block" for="name">Name<span class="special-info">*</span></label><input value="<?php echo $_POST["name"]; ?>" type="text" name="name" id="name" class="block-input<?php if ($errorname){echo ' error';}?>"><br>
            <label class="label-block" for="firma">Firma</label><input value="<?php echo $_POST["firma"]; ?>" type="text" name="firma" id="firma" class="block-input"><br>
            <label class="label-block" for="strasse">Stra&szlig;e<span class="special-info">*</span></label><input value="<?php echo $_POST["strasse"]; ?>" type="text" name="strasse" id="strasse" class="block-input<?php if ($errorstrasse){echo ' error';}?>"><br>
            <label class="label-block" for="stadt">Stadt<span class="special-info">*</span></label><input value="<?php echo $_POST["stadt"]; ?>" type="text" name="stadt" id="stadt" class="block-input<?php if ($errorstadt){echo ' error';}?>"><br>
            <label class="label-block" for="plz">Postleitzahl <span class="special-info">*</span></label><input value="<?php echo $_POST["plz"]; ?>" type="text" name="plz" id="plz" class="block-input<?php if ($errorplz){echo ' error';}?>"><br>
            <label class="label-block" for="staat">Staat</label><input value="<?php echo $_POST["staat"]; ?>" type="text" name="staat" id="staat" class="block-input"><br>
            <label class="label-block" for="telefon">Telefon</label><input value="<?php echo $_POST["telefon"]; ?>" type="text" name="telefon" id="telefon" class="block-input"><br>
            <label class="label-block" for="fax">Fax</label><input value="<?php echo $_POST["fax"]; ?>" type="text" name="fax" id="fax" class="block-input"><br>
            <label class="label-block" for="email">E-Mail <span class="special-info">*</span></label><input value="<?php echo $_POST["email"]; ?>" type="text" name="email" id="email" class="block-input<?php if ($erroremail){echo ' error';}?>"><br>
            <label class="label-block" for="homepage">Homepage</label><input value="<?php echo $_POST["homepage"]; ?>" type="text" name="homepage" id="homepage" class="block-input" ><br><br>
            <label class="label-block" for="text">Anfrage <span class="special-info">*</span></label><textarea value="<?php echo $_POST["text"]; ?>" rows="8" cols="69" name="text" id="text" class="block-input<?php if ($errortext){echo ' error';}?>"></textarea><br>
            <?php
            
    /**
            * Simple example script using PHPMailer with exceptions enabled
            * @package phpmailer
            * @version $Id$
            */
            
            
    require './PHPMailer_5.2.0/class.phpmailer.php';
            
    $emailContent[] = '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
            <html>
              <head>
                <title>Email test</title>
                <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
              </head>
              <body>'
    ;
            
            
    //Empfang-anfang
            
            
    $name $_POST["name"];
            
    $firma $_POST["firma"];
            
    $strasse $_POST["strasse"];
            
    $stadt $_POST["stadt"];
            
    $plz $_POST["plz"];
            
    $staat $_POST["staat"];
            
    $telefon $_POST["telefon"];
            
    $fax $_POST["fax"];
            
    $email $_POST["email"];
            
    $homepage $_POST["homepage"];
            
    $text $_POST["text"];
            
            
    //Empfang-ende
            
            //pflichtfelder abfrage anfang
            
    if ($_POST["Senden"] == 'Absenden'){
                if (
    $_POST["name"] != '' && $_POST["strasse"] != ''  && $_POST["stadt"] != ''  && $_POST["plz"] != ''  && $_POST["email"] != ''  && $_POST["text"] != '' )
                {
                
    $emailContent[] = '<p>Folgende Daten wurden über das Kontaktformular übermittelt:</p>';
                
    $emailContent[] = '<p>Name: '.$name.'</p>';
                
    $emailContent[] = '<p>Firma: '.$firma.'</p>';
                
    $emailContent[] = '<p>Straße: '.$strasse.'</p>';
                
    $emailContent[] = '<p>Stadt: '.$stadt.'</p>';
                
    $emailContent[] = '<p>Postleitzahl: '.$plz.'</p>';
                
    $emailContent[] = '<p>Staat: '.$staat.'</p>';
                
    $emailContent[] = '<p>Telefon: '.$telefon.'</p>';
                
    $emailContent[] = '<p>Fax: '.$fax.'</p>';
                
    $emailContent[] = '<p>E-Mail: '.$email.'</p>';
                
    $emailContent[] = '<p>Homepage: '.$homepage.'</p>';
                
    $emailContent[] = '<p>Anfrage: '.$text.'</p>';
                
                
    $emailContent[] = '</body>
                </html>
                '
    ;
                
                
    $emailCompleteContent implode''$emailContent );
                
                try {
                    
    $mail = new PHPMailer(true); //New instance, with exceptions enabled
                
                    //$body             = file_get_contents('contents.html');
                    
    $body $emailCompleteContent;
                    
    $body             preg_replace('/\\\\/',''$body); //Strip backslashes
                
                    
    $mail->IsSMTP();                           // tell the class to use SMTP
                    
    $mail->SMTPAuth   true;                  // enable SMTP authentication
                    
    $mail->Port       25;                    // set the SMTP server port
                    
    $mail->Host       "localhost"// SMTP server
                    //$mail->Username   = "name@domain.com";     // SMTP server username
                    //$mail->Password   = "password";            // SMTP server password
                
                    
    $mail->IsSendmail();  // tell the class to use Sendmail
                
                    
    $mail->AddReplyTo("mail@trash-mail.de","name");
                
                    
    $mail->From       "sender@mail.net";
                    
    $mail->FromName   "name";
                
                    
    $to "empfänger@mail.de";
                
                    
    $mail->AddAddress($to);
                
                    
    $mail->Subject  "Test Kontaktformular";
                
                    
    $mail->AltBody    "To view the message, please use an HTML compatible email viewer!"// optional, comment out and test
                    
    $mail->WordWrap   80// set word wrap
                
                    
    $mail->MsgHTML($body);
                
                    
    $mail->IsHTML(true); // send as HTML
                
                    
    $mail->Send();
                    echo 
    'Wir werden so schnell wie möglich mit Ihnen in Kontakt treten.<br>';
                } catch (
    phpmailerException $e
                    {
                        echo 
    $e->errorMessage('Fehler');
                    }
                }
                else
                {
                    echo 
    '<br>Sie haben nicht alle <span class="special-info">* Pflichtfelder</span> Ausgefühlt.<br>';
                }
            }
            
    //pflichtfelder anfrage ende

            
    ?>
            
            <input type="submit" value="Absenden" name="Senden" class="input-submit">
    Geändert von andreano (07.11.11 um 16:18 Uhr)
     

  2. #2
    andreano andreano ist offline Mitglied Bronze
    Registriert seit
    Aug 2011
    Ort
    Nähe Köln (NRW)
    Beiträge
    46
    noch ca 1 Stunde Arbeit und ich Poste hier selbst die Lösung!
     

  3. #3
    Avatar von javaDeveloper2011
    javaDeveloper2011 javaDeveloper2011 ist offline Mitglied Brokat
    Registriert seit
    Feb 2011
    Beiträge
    445
    Blog-Einträge
    5
    Hi,

    beim Form giebts nen onsubmit-Attribut, schreib da "return deinePrueffunktion();" rein.
    deinePrueffunktion muss true zurückgeben, wen alles richtig ist (Überprüfung der Felder mit JS vor Absenden und Prüfung durch PHP). Ansonsten false zurückgeben und die fehlerhaften inputs markieren.
    Rahmen per Javascript setzen kannst du so:
    Code javascript:
    1
    
    document.getElementById('idDesInputs').style.border = 'red 2px solid';

    Gruß javaDeveloper2011
     

  4. #4
    andreano andreano ist offline Mitglied Bronze
    Registriert seit
    Aug 2011
    Ort
    Nähe Köln (NRW)
    Beiträge
    46
    to javaDelevoper2011 ich habe das auch so ungefähr gelöst wie du es schon gesagt hast.
    blos ein bisschen anders dazu werde ich in kürze ( wenn ich fertig bin ) die lösund hier posten.

    Gruß Aleks und danke
     

Ähnliche Themen

  1. Antworten: 2
    Letzter Beitrag: 29.09.09, 11:26
  2. In einem Texfeld einen Text anhängen und ihn markieren
    Von guggi229 im Forum Javascript & Ajax
    Antworten: 1
    Letzter Beitrag: 12.09.07, 17:11
  3. Links auf Bild markieren - Bräuchte einen Denkanstoß
    Von ScarabXX im Forum Javascript & Ajax
    Antworten: 9
    Letzter Beitrag: 09.08.07, 21:47
  4. Mit TTreeView einen Zweig per Code markieren
    Von Scrapy im Forum Borland CBuilder und VCL
    Antworten: 0
    Letzter Beitrag: 27.03.06, 12:16
  5. Formular: Zellen bei Fehler farbig markieren
    Von astalavista im Forum CSS
    Antworten: 1
    Letzter Beitrag: 10.04.05, 21:47

Stichworte