Frage zu serverseitigen Bearbeitung

Alice

Erfahrenes Mitglied
Hallo.

PHP ist ja eine serverseitige Programmiersprache. Sprich: Nach dem "absenden" gibt es kein Zurück mehr und man kann Werte i.d.R. nicht mehr verändern usw.

Sagen wir mal es gäbe ein PHP-Skript welches 20 Sekunden läuft. Als erstes wird eine Session gestartet. Diese wird kurz danach gelöscht und eine andere Session wird gestartet.

Frage:
Ab wann ist die Session aktiv? In den Moment wo der Server die Anweisung dazu erhält oder erst wenn das Skript zu ende gelaufen ist?

Etwas konkreter:
In diesem 20-Sekunden-Skript wird am Anfag des Skriptes eine Session gestartet. Kann ich mit JS DIREKT überprüfen ob die Session existiert obwohl das Skript noch >19 Sekunden laufen wird?
 
Du könntest mittels JavaScript ein PHP Skript aufrufen, welches den Session Status abfragt. (Die hierkann dir dabei vielleicht helfen.)

Zu der frage, ab wann die Session läuft, kann ich dir das nicht mit 100% Sicherheit sagen, aber es war glaube ab dem Zeitpunkt wo die Session gestartet wird (also ab der Stelle wo session_start() aufgerufen wird).
 
Ich habe es mal kurz mit einer Grafik-Datei getestet. Habe kurz vor der Ausgabe ein "Sleep" eingebaut. Die Grafik-Datei ist schon erstellt, bevor das Skript fertig ist. Also sollte es mit Sessions gleich sein nehme ich an.

Danke.
 
Dass Dateien gleich erstellt werden ist normal bzw. anders gar nicht sinnvoll.
Teste besser mit Sessions selbst.

Oder noch besser, eine andere Lösung.
Gibt sicher bessere/verlässlichere Wege für dein Vorhaben, nur kennen wir das Vorhaben nicht...
 
Ich möchte einen Fortschrittsbalken mit Meldungen basteln.

Ich möchte durch JS überprüfen ob ein bestimmtes Session gestartet wurde. Wenn ja, wird ein Fortschrittsbalken und eine Meldung angezeigt. Wenn eine weitere Session gestartet wird, soll der Fortschrittsbalken halt fortschreiten und eine andere Meldung wird erzeugt.

Die Idee ist, dass ich so (wenn es denn klappt) genau weiss, was gerade verarbeitet wird.
 
... ein bestimmtes Session gestartet wurde.

Ich nehme an du meinst damit, dass du überprüfen willst, ob ein bestimmtes Element in der Session gesetzt ist.

Wenn das so ist musst du ein ein JavaScript schreiben, welches aller xx Sekunden eine Php-Datei aufruft.

In der Php-Datei könnte das so in der Art abgefragt werden:
PHP:
if(isset($_SESSION["mein_element"]))
{
  return true;
}
return false;
Nach einer Abfrage kann das JavaScript ja ein Wait von den xx Sekunden einlegen und anschließend nochmal eine Abfrage nach den momentanen Element starten.
Anhand der Rückgabe Werte könntest du dann anschließend den Fortschrittsbalken animieren.

Für genauere Vorschläge müsstest du erstmal uns Zeigen, was du bis jetzt an Quellcode hast.
 
So ich hatte heute die Zeit das ganze mal auszuprobieren.

Ich habe im Skript eine Session gestartet. Um das Skript extra zu Verlängern, habe ich ein Sleep eingebaut. Dann habe ich ein "check.php" erstellt, die prüft ob die Session gestartet wurde. Tja... Leider läuft "check.php" genau so lange wie das Skript auch. Warum verstehe ich nicht...
 
Zurück