Problem mit weiterleitung nach MsgBox

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Problem mit weiterleitung nach MsgBox

    Hallo alle zusammen.

    Leider konnte ich über die "Suche" keine Lösung zu meinem Problem finden.

    Ich habe ein Script welches ein Kontaktformular ausließt und auch nach Pflichtfeldern prüft.

    Soweit funzt es auch super, nur dass es nicht hinbekomme, dass wenn ein Pflichtfeld nicht ausgefüllt wurde, wieder das Kontaktformular angezigt wird.

    Kann mir da jemand helfen?

    PHP-Code:
    if($errForm == 0)
       {   
          
    mail($strEmpfaenger$strSubject$strMailtext"From: ".$strFrom)
          or die(
    "Die Mail konnte nicht versendet werden.");
          
    header("Location: $strReturnhtml");
          exit;
       }
       else
       {
          
    $errString "Pflichtfelder(*) sind nicht ausgefüllt: ".$errString;
          
    MsgBox($errString);
          
    header("Location: $strKontakt");
          exit;
       } 

  • #2
    Was macht MsgBox() ? Falls diese eine Ausgabe erzeugt, kannst du ein nachfolgendes header() vergessen.
    Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

    [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
    Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

    Kommentar


    • #3
      MsgBox erzeugt eine MessageBox auf dem Bildschirm.

      Kommentar


      • #4
        fehlermeldung?
        selfmade-webdesign
        webdesign leipzig

        Kommentar


        • #5
          error_reporting(E_ALL);
          und danach mal ein Blick auf den sticky-Thread werfen, der zur Fehlermeldung existiert...

          Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

          bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
          Wie man Fragen richtig stellt

          Kommentar


          • #6
            MsgBox erzeugt eine MessageBox auf dem Bildschirm.
            Dann hast du die Frage gerade selber beantwortet...
            Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

            [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
            Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

            Kommentar


            • #7
              Es wird keine Fehlermeldung erzeugt. Nach der MessageBox ist er in dem Verzeichniss wo die *php-Datei steht und das Site ist weiß.

              Bin leider ein Neuling in php.

              Wie kann ich denn nachdem in der MessageBox auf "OK" geklickt wurde auf eine andere Seite verlinken?

              Kommentar


              • #8
                versuchs mit javascript.

                Kommentar


                • #9
                  Ist das eine Javascript Msg Box ? Wenn ja dann mach die Weiterleitung mittels JS
                  Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                  [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                  Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                  Kommentar


                  • #10
                    Sorra vertan ist Java die MsgBox

                    Also meine Datei sieht wie folgt aus:
                    PHP-Code:
                    <?php

                    ### Konfiguration ###

                    # Bitte passen Sie die folgenden Werte an, bevor Sie das Script benutzen!

                    # An welche Adresse sollen die Mails gesendet werden?
                    $strEmpfaenger 'info@hw-soft.de';

                    # Welche Adresse soll als Absender angegeben werden?
                    # (Manche Hoster lassen diese Angabe vor dem Versenden der Mail ueberschreiben)
                    $strFrom 'Kontaktformular';

                    # Welchen Betreff sollen die Mails erhalten?
                    $strSubject 'Kontaktformular von HW-Soft-HP';

                    # Zu welcher Seite soll als "Danke-Seite" weitergeleitet werden?
                    # Wichtig: Sie muessen hier eine gueltige HTTP-Adresse angeben!

                    $strReturnhtml '../Unterseiten/ok.html';
                    $strKontakt '../Unterseiten/kontakt.html';

                    # Welche(s) Zeichen soll(en) zwischen dem Feldnamen und dem angegebenen Wert stehen?
                    $strDelimiter ":\t";

                    ### Ende Konfiguration ###

                    function MsgBox($str)
                    {
                       
                    $language "language=\"javascript\"";

                       echo 
                    "<script $language>\n";
                       echo 
                    " alert('$str');\n";
                       echo 
                    "</script>\n";
                    }

                    # Formular abgeschickt
                    if($_POST)
                    {
                       
                    $strMailtext "";
                       
                    $errString ="";
                       
                    $errForm 0;

                       while(list(
                    $strName,$value) = each($_POST))
                       {
                          if(
                    is_array($value))
                          {
                             foreach(
                    $value as $value_array)
                             {
                                 
                    $strMailtext .= $strName.$strDelimiter.$value_array."\n";
                             }
                          }
                          else
                          {
                             
                    $strMailtext .= $strName.$strDelimiter.$value."\n";
                          }
                          
                          
                    #Prüfen ob Plichtfelder ausgefüllt
                          
                    if (empty($value) && ($strName == "firma")) 
                          {
                             
                    $errString .= $strName." ";
                             
                    $errForm 1;
                          }
                          if (empty(
                    $value) && ($strName == "name")) 
                          {
                             
                    $errString .= $strName." ";
                             
                    $errForm 1;
                          }
                          if (empty(
                    $value) && ($strName == "strasse")) 
                          {
                             
                    $errString .= $strName." ";
                             
                    $errForm 1;
                          }
                          if (empty(
                    $value) && ($strName == "plz")) 
                          {
                             
                    $errString .= $strName." ";
                             
                    $errForm 1;
                          }
                          if (empty(
                    $value) && ($strName == "ort")) 
                          {
                             
                    $errString .= $strName." ";
                             
                    $errForm 1;
                          }
                          if (empty(
                    $value) && ($strName == "eMail")) 
                          {
                             
                    $errString .= $strName." ";
                             
                    $errForm 1;
                          }
                          if (empty(
                    $value) && ($strName == "telefon")) 
                          {
                             
                    $errString .= $strName." ";
                             
                    $errForm 1;
                          }
                       }

                       if(
                    get_magic_quotes_gpc())
                       {
                          
                    $strMailtext stripslashes($strMailtext);
                       }

                       if(
                    $errForm == 0)
                       {   
                          
                    mail($strEmpfaenger$strSubject$strMailtext"From: ".$strFrom)
                          or die(
                    "Die Mail konnte nicht versendet werden.");
                          
                    header("Location: $strReturnhtml");
                          exit;
                       }
                       else
                       {
                          
                    $errString "Pflichtfelder(*) sind nicht ausgefüllt: ".$errString;
                          
                    MsgBox($errString);
                          
                    header("Location: $strKontakt");
                          
                    error_reporting(E_ALL);
                       }
                    }

                    ?>
                    Kann mir wer sagen wie der Befehl unter Java ist für die Weiterleitung?

                    Kommentar


                    • #11
                      java ist nicht javascript.
                      uns msgbox ist in php definiert.

                      Kommentar


                      • #12
                        Dann gib doch im Fehlerfalle eine komplette HTML Seite aus. Schreib dein MsgBox() als Funktion in den head-Bereich und lade die Fkt beim body onload.
                        Code:
                        <html>
                        <head>
                        <script type="text/javascript">
                        <!--
                        function fehler(msg){
                          alert(msg);
                        }
                        -->
                        </script>
                        <meta http-equiv="refresh" content="1; URL=http://woauimmerduhinwillst.de/path">
                        </head>
                        <body onload="fehler('<?php echo $errString;?>');">
                        Blablabla
                        </body>
                        </html>
                        So was in dieser Richtung
                        Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                        [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                        Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                        Kommentar


                        • #13
                          Also zur Erleuterung:

                          Die Funktion MsgBox ist PHP, aber die Befehle in der MsgBox sind mit Javascript geschrieben. Die Funktion ist im Headerbereich des PHP-Scriptes definiert.

                          Und der Befehl für eine weiterleitung mit javascript lautet:
                          window.location.href='URL.htm' (Im Netz gefunden)

                          Wenn man nun den Befehl in die MsgBox-Funktion mit einbaut funktioniert das auch sehr gut. Die Funktion sieht dann wie folgt aus:

                          PHP-Code:
                          function MsgBox($str)
                          {
                             
                          $language "language=\"javascript\"";

                             echo 
                          "<script $language>\n";
                             echo 
                          " alert('$str');\n";
                             echo 
                          "window.location.href='../Unterseiten/kontakt.html'";
                             echo 
                          "</script>\n";

                          Danke an alle die mir geholfen haben.
                          Zuletzt geändert von Ceene; 21.08.2007, 14:00.

                          Kommentar


                          • #14
                            Und wenn man kein JS aktiviert hat, kriegt man einfach eine leere weisse Seite
                            Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                            [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                            Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                            Kommentar

                            Lädt...
                            X