DeathMasterIII: Schwarzer Bildschirm während Seitenaufbau

Aufgrund der Anbindung zu meiner Datendank dauert der Aufbau meiner PHP seiten etwas länger.... gibt es eine Möglichkeit wie ich während des Aufbaus eine andere Seite einschieben kann. (z.B: der Benutzer gibt daten ein drückt auf absenden, daten werden verschickt aber die Eingabefelder bleiben bestehen, so könnte er unter umständen andere Daten eingeben und nochmals absenden, das würde aber zu einem Fehler in der Datenbank führen -> falsche Daten etc.) und halt statt das die Eingabefelder weiterhin angezeigt werden will ich das sofort eine Schwarze Sete darübergelegt wird.

Gibts dazu irgendeine Möglichkeit, dass in PHP/Apache2 einzustellen?
Oder liese sich sowas nur mit META-Refresh-Tags lösen???
Und wenn es nur mit META-Refresh geht kann ich da die Formulardaten irgendwie auf die andere Seite mitretten (am besten per POST da GET wiederum ein Sicherheitsrisiko ist-> Floodattacken)

  1. nabend

    Aufgrund der Anbindung zu meiner Datendank dauert der Aufbau meiner PHP seiten etwas länger.... gibt es eine Möglichkeit wie ich während des Aufbaus eine andere Seite einschieben kann. (z.B: der Benutzer gibt daten ein drückt auf absenden, daten werden verschickt aber die Eingabefelder bleiben bestehen, so könnte er unter umständen andere Daten eingeben und nochmals absenden, das würde aber zu einem Fehler in der Datenbank führen -> falsche Daten etc.) und halt statt das die Eingabefelder weiterhin angezeigt werden will ich das sofort eine Schwarze Sete darübergelegt wird.

    Gibts dazu irgendeine Möglichkeit, dass in PHP/Apache2 einzustellen?
    Oder liese sich sowas nur mit META-Refresh-Tags lösen???
    Und wenn es nur mit META-Refresh geht kann ich da die Formulardaten irgendwie auf die andere Seite mitretten (am besten per POST da GET wiederum ein Sicherheitsrisiko ist-> Floodattacken)

    mhh, ich würde einen kleinen text per document.write einbinde, sofern sich das machen lässt, der dann im neuen dokumentm über eine bestimmt ID einfach display:none; unsichtbar gemacht wird.

    wenn das nicht geht, serverseitig wüsste ich nicht, ob das geht, du kannst natürlich als allererstes bei dem script, dass die ausgabe macht (bevor die lange verarbeitungszeit beginnt) etwas in der art schreiben ("einen mom...") und _das_ widerum nach laden verschwinden lassen.

    Fabian

  2. Aufgrund der Anbindung zu meiner Datendank dauert der Aufbau meiner PHP seiten etwas länger.... gibt es eine Möglichkeit wie ich während des Aufbaus eine andere Seite einschieben kann. (z.B: der Benutzer gibt daten ein drückt auf absenden, daten werden verschickt aber die Eingabefelder bleiben bestehen, so könnte er unter umständen andere Daten eingeben und nochmals absenden, das würde aber zu einem Fehler in der Datenbank führen -> falsche Daten etc.) und halt statt das die Eingabefelder weiterhin angezeigt werden will ich das sofort eine Schwarze Sete darübergelegt wird.

    Gibts dazu irgendeine Möglichkeit, dass in PHP/Apache2 einzustellen?
    Oder liese sich sowas nur mit META-Refresh-Tags lösen???
    Und wenn es nur mit META-Refresh geht kann ich da die Formulardaten irgendwie auf die andere Seite mitretten (am besten per POST da GET wiederum ein Sicherheitsrisiko ist-> Floodattacken)

    Nur ein Tip:
    man könnte einen Layer mit einem Z-index von 10000 oder so über alles drüberlegen
    und mit Javascript ein und ausschallten
    wie gesagt nur eine Möglichkeit

    Schönes Wochenende
    Speedy7777

  3. Schön und gut eure Vorschläge nur das Problem ist die Scripts werden erst am Client aktiv. d.h. Wenn die Seite fertig übermittelt wurde, und übermittelt wird erst wenn die seite fertig aufgebaut ist.

    und desshalb wollt ich wissen ob es irgendeine Möglichkeit vom PHP aus das er die Seite übermittelt sobald daten vorhanden sind (Streaming) oder ob das von Apache aus möglich ist, oder eben solange keine Daten vorhanden sind der Browser eine schwarze Seite anzeigen soll.

    Wenn dem nicht so ist würde ich gern wissen ob ich mit dem HTTP-META-REFRESH-TAG möglich ist auch das $HTTP_POST_VARS feld (Per POST übermittelte Formulardaten) auf die neue Seite mit zu übertragen

  4. YEEEEEEEEEEEEEHHHHHHHHAAAAAAAAAAAAAAAAAA
    Ich hab die Lösung!!!!!!!!!
    ich setzt einfach nach dem abschicken
    document.<formname>.submit();
    den Wert
    document.body.innerHTML="";

    *ggg*
    Geholfen hat mir der Post der genau über diesem steht ("Inhalt eines Elementes ändern")

    1. Hallo,

      Ich hab die Lösung!!!!!!!!!
      ich setzt einfach nach dem abschicken
      document.<formname>.submit();
      den Wert
      document.body.innerHTML="";

      Hmmm. Im Mozilla und IE klappts (im Konqueror vermutlich auch), aber was ist mit Opera und NN 4? Bei NN 4 geht das AFAIK über

      if (document.layers) {  // diese Zeile testet nur, ob der Browser NN4 ist
        document.open();
        document.close();
      }

      (nicht getestet mangels installiertem NN4)

      Bei Opera weiß ich's leider nicht (Opera unterstützt AFAIK kein innerHTML, wenn ich da falsch liege, klärt mich bitte auf :-)), müsste eigentlich auch irgendwie funktionieren.

      Grüße,

      Christian

      1. Hallo,

        Ich hab die Lösung!!!!!!!!!
        ich setzt einfach nach dem abschicken
        document.<formname>.submit();
        den Wert
        document.body.innerHTML="";

        Hmmm. Im Mozilla und IE klappts (im Konqueror vermutlich auch), aber was ist mit Opera und NN 4? Bei NN 4 geht das AFAIK über

        [...]

        Bei Opera weiß ich's leider nicht (Opera unterstützt AFAIK kein innerHTML, wenn ich da falsch liege, klärt mich bitte auf :-)), müsste eigentlich auch irgendwie funktionieren.

        Die allgemeine, funktionierende Lösung:

        Die gesamte Seite in einen <div>-Layer einpacken.

        onsubmit/onclick die Visibility des Layers auf hidden setzen.

        Lösung mit Sahnehäubchen: Einen zweiten Layer in die Seite setzen, auf hidden setzen und onsubmit/onclick statt des ersten zeigen. Textinhalt: "Die Daten werden verarbeitet - bitte warten...". Oder so ähnlich.

        Funktioniert in allen Browsern. Und hat nicht den Nachteil, daß man dem Browser durch Löschen der Seite alle Formularfelder unter dem Hintern wegzieht. Ich kann mirß vorstellen, daß es zu Problemen kommt, wenn sich das Formular selbst onsubmit löscht.

        - Sven Rautenberg