Results 1 to 3 of 3

Thread: Ausgaben im Kontaktformular

  1. #1
    dreamworker.de Routinier neomii's Avatar
    Join Date
    04/2011
    Posts
    42

    Frage Ausgaben im Kontaktformular

    Hallo zusammen

    Bei meinem Kontaktformular ist ein Problem aufgetaucht. Hierbei geht es um die verschiedenen Ausgaben, genauer: um die Fehlermeldungen. Diese werden zwar korrekt ausgegeben, allerdings verschwindet dabei immer der restliche Code meiner Seite (ich habe den Code in das Layout meiner Seite eingebunden). Also der gesamte Codeteil, der sich unterhalb des PHP-Codes befindet, der wiederum das Kontaktformular funktionstüchtig macht. Zur Probe habe ich einmal die Teile "exit;" unterhalb der Ausgaben entfernt. Damit hatte ich schonmal meinen restlichen Code wieder. Natürlich gab es dann aber keinen Schlussstrich mehr unter den Ausgaben, sodass gleich alle der Reihe nach ausgegeben wurden und ich auch eine Nachricht in meinem Postkasten hatte. Damit musste ich rechnen ..

    .. wie könnte ich nun beides unter einen Hut bekommen? Mir wäre es schon lieb, wenn so Teile wie die Navigation bei der Ausgabe noch sichtbar bleiben würden.

    Vielleicht hat jemand von euch eine Idee?

    Der Formular-PHP-Code:

    PHP Code:
    <?php
         
    if(!isset($_POST['submit'])){
            exit;
        }
        
        
    $name addslashes(htmlspecialchars($_POST['name']));
        
    $email addslashes(htmlspecialchars($_POST['email']));
        
    $betreff addslashes(htmlspecialchars($_POST['betreff']));
        
    $msg addslashes(htmlspecialchars($_POST['nachricht']));
        
        if((
    $name == "") OR ($email == "") OR ($betreff == "") OR ($msg == "")){
            echo 
    "<i><font color='#a50000'>Bitte f&uuml;lle alle Felder aus!</font></i>";
            exit;
        }
        
        
    $numbers = array("0""1""2""3""4""5""6""7""8""9");
        foreach(
    $numbers as $key => $value){
            if(
    strpos($name$value) === FALSE){
            
            } else {
                echo 
    "Im Namen darf keine Zahl vorkommen!";
                exit;
            }
        }
        
        if(
    strpos($email"@") == FALSE){
            echo 
    "Gib bitte eine g&uuml;ltige E-Mail Adresse ein!";
            exit;
        }
        
    $emailSplit explode("@"$email);
        if(
    strpos($emailSplit[1], ".") == FALSE){
            echo 
    "Gib bitte eine g&uuml;ltige E-Mail Adresse ein!";
            exit;
        }
        
    $emailSplitSecond explode("."$emailSplit[1]);
        if(
    $emailSplitSecond[0] == "trashmail"){
            echo 
    "&Ouml;ffentliche E-Mail Adressen werden nicht akzeptiert!";
            exit;
        }
        
        
    $nachricht "Liebe/r Besucher/in,\n\nvielen Dank für Deine Nachricht!\nIch habe sie erhalten und werde Dir in wenigen Tagen antworten!\n\nLiebe Grüße,\nName";
        
    mail($email"Bestätigung Deiner Kontaktaufnahme"$nachricht);
        
            
        
    $message "Das Kontaktformular wurde am ".date("d.m.Y")." um ".date("H:i:s")." von ".$name." (E-Mail: ".$email.") verwendet.\n\nBetreff: '".$betreff."'\n\nNachricht: '".$msg."'";
        
            
        
    mail("meine.email@adresse.com""Kontaktaufnahme"$message);
        
        echo 
    "<i><font color='#a50000'>Deine Nachricht wurde erfolgreich versendet!</font></i>";
        

    ?>
    Ich freue mich über eure Antworten

    Liebe Grüße,
    Neo

  2. #2
    dreamworker.de Junior
    Join Date
    02/2016
    Posts
    3

    Re: Ausgaben im Kontaktformular

    Ich bin mir nicht sicher, ob ich das Problem richtig verstanden habe, aber kannst du nicht einfach das exit weglassen und die folgenden Code-Teile in entsprechende if-Anweisungen packen?

  3. #3
    dreamworker.de Routinier neomii's Avatar
    Join Date
    04/2011
    Posts
    42

    Re: Ausgaben im Kontaktformular

    Anzeigen:
    Webhosting ab 3,99 €
    Hallo

    Um das Problem nochmal zu erläutern: Immer, wenn es zu einer Fehlermeldung kam (das Skript lief durch und schaute zB., ob im Namen eine Zahl vorkam oder eine gültige E-Mail-Adresse angegeben worden ist), wurde per exit; der gesamte, untere Rest des Codes auf der Seite (im PHP.Dokument) gestoppt. Da sich zu diesem Zeitpunkt noch alles in einem PHP.Dokument befand (dh. Head und Body - verschiedene Div-Boxen, darunter jene, (1) die den Content darstellte und wo das Skript zur Geltung kam und (2) jene, in der sich die Navigation befand und die unterhalb von (1) lag), wurde dann beim Aufruf von exit; der gesamte untere Rest des Skripts gestoppt, soll heißen, dass zB. untere Reste von (1) und (2) vollständig (also die ganze Navigation) nicht mehr aufgerufen wurden und sichtbar waren.

    Mittlerweile habe ich exit; durch return; ersetzt und den PHP-Teil aus dem Dokument, in dem das Skript zur Wirkung kommen soll, herausgenommen und lediglich mit include eingebunden.

    Dadurch wurde das Problem behoben

    Liebe Grüße

Similar Threads

  1. Kontaktformular
    By neubau-city in forum Serverseitige Programmierung
    Replies: 1
    Last Post: 14.10.2010, 10:57
  2. Dynamisch: Kontaktformular mit ASP
    By Homer_j in forum Adobe Dreamweaver
    Replies: 3
    Last Post: 16.12.2005, 22:27
  3. Layout: Kontaktformular
    By drfreak2004 in forum Adobe Dreamweaver
    Replies: 2
    Last Post: 06.07.2005, 22:04
  4. Warnungen bei Ausgaben....?
    By Judy in forum Adobe Flash & OpenSWF
    Replies: 5
    Last Post: 06.02.2002, 11:33
  5. Layout: kontaktformular
    By bora in forum Adobe Dreamweaver
    Replies: 2
    Last Post: 21.12.2001, 18:04

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •