Frage zur Formularverarbeitung

Alles, was PHP betrifft, kann hier besprochen werden.

Frage zur Formularverarbeitung

Postby ollidroll » 17. August 2004 11:09

Hallo,
ich habe ein Formular, das nach Absenden eine sehr umfangreiche
Datenbankabfrage startet! Das funktioinert auch alles, hat nur einen kleinen Schönheitsfehler.
Und zwar wird die nächste Seite erst angezeigt, wenn die Datenbankabfrage zuende ist! Solange sieht man immer noch das Formular mit dem Absendebutton.
Ich hätte aber gern gleich eine Seite angezeigt, wo dann z.B. steht "Einen Augenblick bitte..." (Keine Fortschrittsanzeige) und der Rest wird ausgegeben, wenn das Skript durchgelaufen ist!
Wie macht man den sowas?

Danke und Gruß
Olli
ollidroll
 
Posts: 45
Joined: 17. February 2003 10:41

tricksen

Postby lain » 18. August 2004 10:52

muttu bissi tricksen.

in dem fall bietet sich z.b. javascript an - lass beim clicken des buttons nen fenster "bitte warten" aufpoppen .. oooder hide das fomular und blende einen bitte warten layer ein..
lain
 
Posts: 38
Joined: 19. March 2004 13:48

Postby ollidroll » 18. August 2004 13:15

Vielen Dank, aber das will ich ehrlich gesagt so nicht.
Grund: Popup Blocker
Was meinst Du mit hide-Formular und Layer? Habe ich jetzt kein Plan von
wäre aber evt. eine Alternative.

Aber eigentlich würde ich gerne, das eine neue Seite aufgeht mit dem kopf der Seite, und die Script ausgabe dann, wenn das Script fertig ist, weil das einfach schön und sauber aussieht! :wink:

Ich habe mir inzwischen die flush()-Sachen (Puffersteuerung) angeschaut,
aber das funzt nicht, außderm gibt es noch das PEAR Paket HTML_PROGRESS, was aber m.E. mehr zu Fileupload gehört.

Ich weiß, es ist nur ne Schönheitssache, aber das soll ja nun mal alles auch schön aussehen für den user...... :lol:

Für weitere Tipps bin ich immer offen!
Vielen Dank und Gruß
Olli
ollidroll
 
Posts: 45
Joined: 17. February 2003 10:41

Postby Hanspeter Thöni » 19. August 2004 07:18

Habe hier einen faulen Trick angewedet. Seite aufbauen, Kopf ausgeben dann den Text "Bitte warten.."
danach ein
echo str_repeat(" ",10000); flush();

Damit werden zwar 10k unnötige Space übertragen, aber es hat den Effekt, dass der Browser das bisher empfangene sicher anzeigt.

Gruss HP
User avatar
Hanspeter Thöni
 
Posts: 233
Joined: 17. August 2004 10:29
Location: Schweiz

Postby ollidroll » 19. August 2004 14:47

OK, vielen Dank!
Hatte sowas ähnliches (flush() )auch schon ausprobiert gehabt!
Mit deinem Hinweis jetzt hat es bei mir zumindest Ansatzweise geklappt.

Also wie gesagt: Vielen Dank!
Gruß
Olli
ollidroll
 
Posts: 45
Joined: 17. February 2003 10:41

Postby Quäntchen » 03. March 2006 22:32

Wie wärs einfach, indem du eine weiter Seite bastelst, wo per POST alle Daten gesammelt werden und dort machst du deine Abfragen und darauf per Weiterleitung... ist doch einfach ^^
Quäntchen
 
Posts: 27
Joined: 27. December 2005 10:02


Return to PHP

Who is online

Users browsing this forum: No registered users and 20 guests