Welche Anweisung: Bild soll nur einmal am Anfang im Formular erscheinen

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

  • Welche Anweisung: Bild soll nur einmal am Anfang im Formular erscheinen

    Ein Bild soll nur ein einziges Mals am Anfang pro Ausfüllvorgang eines php-Kontakt-Formulars erscheinen, dann nicht mehr. Gibt es dafür eine geeignete Anweisung?

    Nette Grüße, Dirk

  • #2
    Bitte was?
    Mein PHP Blog

    Kommentar


    • #3
      Keine Ahnung was du meinst, aber JA es gibt bestimmt Anweisungen
      die zur Lösung deines Problems betragen

      definiere Ausfüllvorgang ^^

      Kommentar


      • #4
        Klein Dirki möchte das Captcha nur einmal anzeigen? Bei mehrseitigen Formularen oder vergessenen Pflichtfeldern nicht nochmal? Ja?

        Dann habe ich hier die ultimative Lösung: IF!
        Zuletzt geändert von onemorenerd; 21.10.2007, 04:12.

        Kommentar


        • #5
          Dankeschön, für Eure Meldungen.

          Bitte was?
          Au Backe, welch unverständliche Ausdrucksweise...Verzeihung.

          definiere Ausfüllvorgang ^^
          In diesem Zusammenhang in etwa, die Tätigkeit eines Besuchers, ein Formular bis einschließlich oder ausschließlich des Abschickens mit allen in dem jeweiligen Formular gewünschten / geforderten Angaben zu versehen. Umfaßt also in etwa den Zeitpunkt des ersten Sichtkontaktes (nach dem z.B. ein Link dorthin angeklickt wurde) des Besuchers mit dem Formular, bis ca. zur Betätigung der Absende-Schaltfläche und folgenden Versandes.

          Klein Dirki möchte das Captcha nur einmal anzeigen? Bei mehrseitigen Formularen oder vergessenen Pflichtfeldern nicht nochmal? Ja?
          Nein, nein, es geht hier um ein einseitiges Formular.

          Der Besucher einer Website klickt auf „Kontakt“, es öffnet sich eine ein Kontakformular enthaltende Seite, die nun ein Bild anzeigt; das Bild soll sich dem Besucher einzig jetzt, eben bei dem jeweiligen ersten Aufruf dieses Formulars zeigen, am Anfang des „Ausfüllvorganges“.

          Nach jeder Eingabe in das Formular des Besuchers und anschließendem Betätigen der Absende-Schaltlfäche, erhält er (falls er nicht beim ersten Mal alle Daten korrekt eingibt) eine Fehlermeldung (mit anderen Bildern oder einem anderen Bild) oder mehr, so daß er Eingaben korrigieren oder ergänzen kann oder soll, bis der Absendevorgang ausgeführt wird und eine positive Bestätigung mit wieder einem anderen Bild erscheint, das nur an diesen besagtem Abschluß erscheint, sonst nicht.

          Herzlichen Dank, nochmals für Eure Hilfe.

          Nette Grüße, Dirk

          Kommentar


          • #6
            Das sollte doch ganz einfach in deine Struktur einzubinden sein!

            PHP-Code:
            if( formular_gesendet() ) {
              
            // speichern
              // Endbild zeigen
            }
            else if( 
            fehler() ) {
              
            // Fehlerbildchen zeigen
            }
            else {
              
            // einfaches Bild zeigen

            Kommentar


            • #7
              Du wirst ja irgendwo Informationen haben ob ein Fehler aufgetreten ist oder ob das Formular schon aufgerufen wurde (Sessions?). Diese wertest du aus und zeigst das Bild an. Konkretest Problem?
              Die Regeln | rtfm | register_globals | strings | SQL-Injections | [COLOR=silver][[/COLOR][COLOR=royalblue]–[/COLOR][COLOR=silver]][/COLOR]

              Kommentar


              • #8
                Dankesehr für die if-Anweisung.

                Ich hätte vielleicht doch lieber anfangs gleich den Link zu dem Formular posten sollen:
                http://www.galerie.galerie-der-fotos...t_formular.php


                Für das obere Bild „gleich kriege ich eine eMail“, habe ich diese Anweisung:

                PHP-Code:

                if (!$_POST['name'] AND !$_POST['betreff'] AND !$_POST['message'
                AND !
                $_POST['email'] AND($_POST['number'] != 
                md5($_POST['arithmetic']))) {echo "<p class=\"gif\"><img 
                class=\"gif\" src=\"
                $imagepath/email_kommt_kontakt_toll.jpg\" 
                width=\"200\" height=\"223\" alt=\"Uiiiii, gleich kommt eine eMail.\" 
                /></p>"
                ;} 
                Beim Absenden ohne eines der in der o.g. Anweisung stehenden
                Felder ausgefüllt zu haben, erscheint das Bild „kriege eMail“
                unerwünscht erneut, statt daß einzig das sich zu Anfang
                unerwünscht zeigende untere Bild „da ging was schief“ alleine
                zeigt.

                Anweisung für das Bild „ging schief“:

                PHP-Code:
                if (!$_POST['name'] or !$_POST['betreff'] or !$_POST['message'])
                    {
                    
                $ausgabe "<p class=\"gif\"><img class=\"gif\" 
                src=\"
                $imagepath/fehlermeldung_kontakt.jpg\" width=\"200\" 
                height=\"223\" alt=\"Uiuiuiuiui, ein Fehler ist aufgetreten! Bitte, 
                noch einmal versuchen.\" /></p><p class=\"meldung\">Vergessen,
                 ein Feld <span class=\"rotpfeil\">&larr;</span><span 
                class=\"hier\"> hier</span></span> auszuf&uuml;llen? 
                Vertippt?<br/><br/>Gleich noch einmal versuchen, freue mich auf 
                Ihre Nachricht!</p>"
                ;
                    } 
                Wie kann ich das sinnvoll ändern?

                Du wirst ja irgendwo Informationen haben ob ein Fehler
                aufgetreten ist oder ob das Formular schon aufgerufen wurde
                (Sessions?). Diese wertest du aus und zeigst das Bild an.
                Konkretest Problem?
                Ich verstehe nicht ganz. Wie funktioniert das?

                Nette Grüße, Dirk
                Zuletzt geändert von Dirki-Boy; 23.10.2007, 11:31.

                Kommentar


                • #9
                  PHP-Code:
                  if ( !$_POST 'name' ]  ... ) {
                  // Fehler
                  } elseif ( !$_POST 'name' ] ... ) {
                  // Mail
                  } else {
                  // hier das Bild ausgeben

                  Und brich deinen Code um!
                  Die Regeln | rtfm | register_globals | strings | SQL-Injections | [COLOR=silver][[/COLOR][COLOR=royalblue]–[/COLOR][COLOR=silver]][/COLOR]

                  Kommentar


                  • #10
                    [/PHP]

                    Vielen Dank für die Hilfe.

                    Ich finde keine Möglichkeit, daß es bei mir funktioniert, habe es –
                    wenn ich recht verstanden habe - entsprechend dem o.g. Auszug
                    gemacht:

                    PHP-Code:
                    if (!$_POST['name'] or !$_POST['betreff'] or !$_POST['message']) {

                        
                    $ausgabe "<p class=\"gif\"><img class=\"gif\" 

                    src=\"
                    $imagepath/fehlermeldung_kontakt.jpg\" width=\"200\" 

                    height=\"223\" alt=\"Uiuiuiuiui, ein Fehler ist aufgetreten! Bitte, 

                    noch einmal versuchen.\" /></p><p class=\"meldung\">Vergessen, 
                    ein Feld <span class=\"rotpfeil\">&larr;</span><span
                    class=\"hier\"> hier</span></span> auszuf&uuml;llen?
                    Vertippt?<br/><br/>Gleich noch einmal versuchen, freue mich auf 
                    Ihre Nachricht!</p>"
                    ;
                        }

                         elseif (!
                    $_POST['name'] AND !$_POST['betreff']
                    AND !
                    $_POST['message'] AND !$_POST['email'] AND($_POST['number'] !=

                     
                    md5($_POST['arithmetic'])))
                          {
                        echo 
                    "<p class=\"gif\"><img class=\"gif\" 
                    src=\"
                    $imagepath/email_kommt_kontakt_toll.jpg\
                    width=\"200\" 
                    height=\"223\" alt=\"Uiiiii, gleich kommt eine 
                    eMail.\" /></p>"
                    ;

                        } else {
                        echo 
                    "<p class=\"gif\"><img class=\"gif\" src=\"$imagepath/fehlermeldung_kontakt.jpg\" 
                    width=\"200\" height=\"223\" alt=\"Uiuiuiuiui, 
                    ein Fehler ist 
                    aufgetreten! Bitte, 
                    noch einmal versuchen.\" /></p><p class=\"
                    meldung\">Vergessen, 
                    ein Feld <span class=\"rotpfeil\">&larr;</span><span 
                    class=\"hier\"> hier</span></span> 
                    auszuf&uuml;llen? 
                    Vertippt?<br/><br/>Gleich noch einmal 
                    versuchen, 
                    freue mich auf 
                    Ihre Nachricht!</p>"
                    ;
                        } 
                    Müßte nicht immer, wenn eine beliebige Anzahl der Felder betreff,

                    name, message nicht ausgefüllt ist, das Fehler-Bild erscheinen, weil
                    „if“ wahr ist, somit die „if“ folgenden Anweisungen, „else“, „elseif“,
                    nicht mehr geprüft werden und das Anfangsbild, „Mail“ zu Anfang
                    gar nicht erscheinen kann? Oder verstehe ich das völlig falsch?

                    Und brich deinen Code um!
                    Jawoll! Geht das irgendwie automatisch zu tun?

                    Nette Grüße, Dirk

                    Kommentar


                    • #11
                      Wenn
                      PHP-Code:
                      elseif (!$_POST['name'] AND !$_POST['betreff'] AND !$_POST['message'] AND ...) 
                      wahr werden würde, ist immer schon
                      PHP-Code:
                      if (!$_POST['name'] or !$_POST['betreff'] or !$_POST['message']) 
                      erfüllt. Der elseif-Zweig wird also niemals betreten.

                      Brich bitte deinen Code um, so wie es in unseren Regeln steht! Danke.

                      Kommentar


                      • #12
                        Vielen Dank.


                        Wenn

                        PHP:
                        elseif (!$_POST['name'] AND !$_POST['betreff'] AND !$_POST['message'] AND ...)

                        wahr werden würde, ist immer schon

                        PHP:
                        if (!$_POST['name'] or !$_POST['betreff'] or !$_POST['message'])

                        erfüllt.
                        Ja, ich würde denken, das müßte bedeuten, das Bild wird in diesem
                        Fall angezeigt, was nicht geschehen sollte, oder täusche ich mich?


                        Der elseif-Zweig wird also niemals betreten.
                        Verstehe ich überhaupt nicht, Verzeihung, wozu braucht man den
                        Zweig denn hierbei dann überhaupt? Also, warum läßt man ihn dann nicht einfach weg?


                        Brich bitte deinen Code um, so wie es in unseren Regeln steht! Danke.
                        Au Backe, schon der erste Regelverstoß, allerdings unbeabsichtigt,
                        Verzeihung, das war keine Absicht, ich hatte in meinem letzten
                        Posting – offenbar ist es mißlungen - die Zeilen umgebrochen, sind
                        bei mir auch so zu sehen. Was muß ich tun?


                        Vielen Dank auch für Deine Hilfe, nette Grüße, Dirk

                        Kommentar


                        • #13
                          kannst du nicht einfach
                          PHP-Code:
                          if (count($_POST) == 0) { 
                              
                          // Bild ausgeben

                          nehmen?

                          Was muß ich tun?
                          Du sollst den Bearbeiten-Button bei deinen überbreiten Postings benutzen und durch gezieltes Enter-Drücken in deinen [PHP]-Blöcken dafür sorgen, dass man bei 1024 x 768 nicht mehr nach rechts scrollen muss
                          ich glaube

                          Kommentar


                          • #14
                            Super, vielen Dank, es funktioniert.

                            Ich glaube, dies

                            PHP-Code:
                            ($_GET['id'] != "kontakt_send"
                            müßte auch funktionieren, wie ich gerade gesehen habe.

                            Du sollst den Bearbeiten-Button bei deinen überbreiten Postings

                            benutzen und durch gezieltes Enter-Drücken in deinen

                            [PHP]-Blöcken dafür sorgen, dass man bei 1024 x 768
                            nicht mehr nach rechts scrollen muss
                            Ah, gut, muß also tatsächlich manuell ausgeführt werden und auch die alten Postings, nicht nur die neuen, mache ich sofort.

                            Vielen Dank, nochmals, nette Grüße, Dirk

                            Kommentar

                            Lädt...
                            X