Ausgabe "Einen Moment Gedult bitte"

Kussilein

Mitglied
Hallo Ihr Lieben,

RIESEN PROBLEM:

Ich habe ein Anmeldescript, dass Daten in eine DB schreibt, Email versendet und noch so ein paar Dinge. Am Ende wird " Vielen Dank für IHre Anmeldung" ausgegeben.
Manchmal kommt es vor, dass dieser Vorgang sehr lange dauert. Ich möchte, dass in der Zwischenzeit ein Text erscheint: "Bitte haben Sie einen Augenblick Gedult". Wie kann ich das machen?
Hier ist der Auszug aus meinem Script:

PHP:
elseif($TODO=="SAVE"){
echo "<center>Bitte haben Sie einen Augenblick Geduld.<br>Ihre Daten werden gespeichert.";

$datum="";
$punkte="";
$aktivierungscode="";

$datum=$tag.".".$monat.".".$jahr;

//prüfen ob werber_id auch in der Datebbank als User eingetragen ist.
if($code){

	$user_result=GetDBData($CONFIG[table_user],"u_id","WHERE u_id='$code' AND u_status!='0'");
	$user_result_num=0;
	$user_result_num=mysql_num_rows($user_result);
		
	if($user_result_num > 0) {

	$punkte="100";
	}else
	{

	$code="53400";	
	}
}else{
$code="53400";
}

//Generieren der Aktivierungscodes
require_once 'include/str_rand.php';
$aktivierungscode=str_rand(20);
$u1=$code;


$r1=0;
$r2=0;
$r3=0;
$r4=0;
$r5=0;
$r6=0;
$r7=0;
$r8=0;
$r9=0;
$r10=0;

.
.
.
.
.$ausgabe= "<br><br><br>
	
	Sie haben Sich erfolgreich registriert. In wenigen Augenblicken erhalten Sie eine Email mit Ihren  Zugangsdaten. Um Ihre Registrierung abzuschließen folgen SIe bitte den anweisungen der Email<br><br>Viel Spaß<br>Ihr NUR DIREKT.DE-Team<br><br>
	
	</center>

";
echo $ausgabe;

Der Text wird immer zusammen ausgegeben.

Wäre über schnelle HIlfe sehr dankbar.

Nicole
 
Das wird denke ich mal unter php nur schwer möglich sein, da die Seite nun mal Serverseitig generiert wird und erst eine Ausgabe erfolgt, wenn der Server fertig ist. Die einzige Lösung die mir dazu einfallen würde wäre, dass du kurzeitig mit einem Javascript ein zweites minimiertes Fenster öffnest. Im Hauptfenster seht dann "Bitte einen Moment Geduld" gleichzeitig wird ein zweites Fenster geöffnet, dort der Hauptteil der Anmeldung erstellt und am Ende wieder geschlossen. Dabei ist darauf zu achten, dass die Session in das Hauptfenster geschrieben wird. Also Ablauf:

-Login Daten eingeben
-Neuladen das Hauptfensters mit warten Meldung, werte an Zweitfenster per Javascript übergeben
-Zweitfenster schließen, Werte an Hauptfenster übergeben
-Neuladen Hauptfenster, Session schreiben, Ausgabe "Login erfolgreich"
 
Naja, also ohne Output Buffer und Templates wird jede Ausgabe direkt an den Browser geschickt (also sofort).
Da kann man sowas schon recht einfach bewerkstelligen und z.B. ein <div> mit einem animierten Gif (z.B. eine sich drehende Sanduhr) anzeigen mit dem entsprechenden Text drunter.
Am Ende der Seite dann kommt vor dem </body> ein bischen JavaScript, das das <div> auf hidden setzt.

Über ein zweites Fenster, in dem die "Arbeit" erledigt wird gehts natürlich genauso.
 
Zurück