Separates Fenster öffnen

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

  • Separates Fenster öffnen

    Hallo Allerseits!

    Hier ein vermutlich typisches Anfängerproblem:

    Die Seite besteht aus einem Framset. In einem der Frames
    steht ein Formular. Beim Absenden des Formulares wird
    ein PHP-Script aufgerufen. Script stellt fest das Fehler im
    Formular sind.

    Die Fehlermeldungen werden in einem Array
    eingesammelt und sollen in einem separaten Fenster
    ausgegeben werden. Dieses Fenster schließt sich per Button
    oder nach einer definierten Zeitraum.

    Wie kann ich aus PHP heraus ein separates Fenster öffen, ohne das ein Link oder sonstwas gedrückt werden muss?

    Danke im voraus für Eure Antworten!

    Jörg

  • #2
    Hi,

    mit JavaScript kannst du das umsetzen.
    In Flames - Pinbal Map
    Becoming the Archetype - No Fall Too Far
    Pantera

    Kommentar


    • #3
      Antwort

      Das ist mir bekannt!

      Im Fehlerfall soll jedoch das Formular (incl. Inhalt) noch sichtbar
      bleiben, jedoch noch ein Fenster hochschnippsen, welches
      z.B. sagt "Benutzernamen schon vergeben, wählen Sie einen
      anderen" oder ähnliches.


      Jörg

      Kommentar


      • #4
        Re: Separates Fenster öffnen

        Original geschrieben von Marckscheffel
        Wie kann ich aus PHP heraus ein separates Fenster öffen, ohne das ein Link oder sonstwas gedrückt werden muss?
        garnicht!!! PHP kann keine Events wie Javascript handeln.

        Ruf einfach, wenn bei der Überprüfung ein Fehler auftritt die JS-Funktion auf, die das Fenster öffnet in dem du die Fehler ausgiebts.

        Kommentar


        • #5
          Klingt für mich nach nem Fall für das im Moment so heißbergehrte AJAX

          Kommentar


          • #6
            Hi,

            Gib die Meldung einfach über/unter dem Formular aus.

            Gruß Thomas

            Kommentar


            • #7
              PHP kann keine Fenster öffnen. Das einzige was PHP kann ist Fehlermeldungen in den Quelltext schreiben. Am besten sieht es natürlich aus, wenn man es dann mit Javascript positioniert. das hat dann was von einem Fenster und man kann auch ein schönes X in die Ecke machen und das z.B. div-Layer bei einem klick darauf mit Javascript ausblenden. ABER mit PHP geht das nicht, weil PHP Serverseitig ist und nur statische Webseiten generiert!
              Wer einen Weisen dumm fragt, wird eine kluge Antwort bekommen. Es ist nur die Frage, ob er sie auch versteht.

              Kommentar


              • #8
                Re: Antwort

                Im Fehlerfall soll jedoch das Formular (incl. Inhalt) noch sichtbar
                bleiben, jedoch noch ein Fenster hochschnippsen, welches
                z.B. sagt "Benutzernamen schon vergeben, wählen Sie einen
                anderen" oder ähnliches.
                Ja und wo ist jetzt das problem? Pippo hat es ja schon gesagt, mach mit javascript bzw. über die submit funktion ein neues fenster auf und schieb die daten mit get oder post rüber. die eingegebenen daten bleiben doch im formular erhalten.
                [color=blue]...ich sehe was, was du nicht siehst...und das ist der QUELLTEXT![/color]

                Kommentar


                • #9
                  ...oder AJAX, für "[...] ohne dass ein Link oder sonstwas gedrückt werden muss"

                  Kommentar


                  • #10
                    Nix gegen AJAX, geht aber auch ohne. Eine Variante wäre zum beispiel die prüfung direkt im formular vorzunehmen.

                    Mittels OnChange kannst du bereits nach der eingabe (wenn der user tab drückt oder in ein anderes Feld klickt) mit einer entsprechenden Überprüfung und z.b. einer alert-meldung auf fehler hinweisen.

                    Sieht man nicht oft, ist evtl. auch nicht jedermanns sache, aber ich wende diese art mittlerweile in allen meinen formularen an.

                    P.S. Sorry, hatte das mit ohne link drücken übersehen.
                    [color=blue]...ich sehe was, was du nicht siehst...und das ist der QUELLTEXT![/color]

                    Kommentar


                    • #11
                      original geschrieben von cipolla

                      Nix gegen AJAX, geht aber auch ohne. Eine Variante wäre zum beispiel die prüfung direkt im formular vorzunehmen.

                      Mittels OnChange kannst du bereits nach der eingabe (wenn der user tab drückt oder in ein anderes Feld klickt) mit einer entsprechenden Überprüfung und z.b. einer alert-meldung auf fehler hinweisen.
                      Und woher soll JS wissen, dass ein Username schon vergeben ist ? Das weiss nur der Server (ausser du schreibst bereits beim Seitenaufbau ein Array mit allen bereits benutzten Namen und mit diesen könnte JS vergleichen). Besonders sinnvoll ist das aber sicherlich nicht, denn so kommt man an alle gültigen Usernames !
                      Deine Version funzt nur wenn das Form an den Server geschickt wird. Und dieser den Namen prüft. Und dafür würde ich dann aber doch AJAX empfehlen. Weil damit nicht die ganze Seite neu aufgebaut werden muss. Der Server antwortet im Fehlerfall mit einem String z.B. User bereits vorhanden und schickt diesen an die aufrufende AJAX Instanz zurück, welche den String ins HTML Konstrukt einhängt.
                      Ohne AJAX müsste die Seite nur wegen dem kurzen Fehlerstring neu aufgebaut werden.

                      Gruss

                      tobi
                      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


                      • #12
                        Nun gut, ich sollte wohl eingrenzen, dass diese art der validierung eher dazu benutz wird um zum beispiel kontaktformulare oder ähnliches auf richtigkeit bzw. vollständigkeit zu prüfen.

                        In Bezug auf dein beispiel gebe ich dir natürlich vollkommen recht.

                        Auf der anderen seite bin ich mir im moment gar nicht so sicher ob ein neues fenster, generiert von javascript überhaupt angezeigt wird wenn ein popupblocker läuft da es ja "automatisch" gehen soll, also nicht aufgrund der benutzeranforderung. Demnach wäre ein automatisches popup vollkommener blödsinn.
                        [color=blue]...ich sehe was, was du nicht siehst...und das ist der QUELLTEXT![/color]

                        Kommentar


                        • #13
                          Javascript: window.open(.....); macht ein neues, zusätzliches Fenster. Muss man halt in PHP ein Stück JS generieren und mit onload oder im Lauftext oder wie auch immer ausführen.

                          Im Fehlerfall gibt PHP das Hauptfenster mit dem fehlerhaften Inhalt aus (anstatt es "stehenzulassen". Gleiche Mechanik wie beim Drücken von Vorschau hier.) und zusätzlich mit JS window.open(...); das Fehlermeldungsfenster.

                          Ausser ich täusch mich gewaltig und die Frage ist ganz was anderes.

                          Kommentar

                          Lädt...
                          X