SESSION bei Aktualisierung der Seite gleich

VirtualHHH

Grünschnabel
Hallo,

die Probleme von vor 1-2 Tagen habe ich mittlerweile erfolgreich meistern können - nun plagt mich hingegen ein weiteres.
Hier erstmal der Code:

PHP:
if(!isset($_SESSION['npc_lebenspunkte']))
   {
     $_SESSION['npc_lebenspunkte'] = $npc->lebenspunkte;
     $npc_lebenspunkte_kampf = $_SESSION['npc_lebenspunkte'];
     echo 'ist nicht gesetzt';
   }
   else
   {
     $_SESSION['npc_lebenspunkte'] = $npc->lebenspunkte;
     $npc_lebenspunkte_kampf = $_SESSION['npc_lebenspunkte'];
     echo 'ist gesetzt';
   }

Da die Seite später noch aktualisiert wird und ich die Werte weiterverwenden möchte im nächsten Schritt bei der Kampfberechnung, habe ich über eine $_SESSION die Lebenspunkte des Gegners gespeichert.
Soweit klappt auch alles, auch bei der Berechnung ist das System an sich einwandfrei. Über ein Formular, welches dafür sorgt, dass sich die Seite letztendlich von neuem aktualisiert, wird das Skript von neuem gestartet. Und da liegt dass eigentliche Problem.
Da das Skript von neuem gestartet wird, verschwindet der gespeicherte Wert auf der $_SESSION praktisch und fängt wieder bei 0 an, indem es den ursprünglichen Wert vom Gegner aus der Datenbank holt. Was herauskommt ist im Grunde dasselbe Ergebnis - ein nie endender Kampf dadurch ist zu sehen.

Sowas möchte ich ja selbstverständlich nicht. Hat jemand eventuell eine Idee, wie ich es so einrichte, dass nur beim ersten Mal der Wert der $npc->lebenspunkte in die $_SESSION['npc_lebenspunkte'] gespeichert wird und beim aktualisieren über das Formular dann die Zeile ignoriert wird?

Über eine schnelle Hilfe würde ich mich freuen!

Gruß
 
Da das Skript von neuem gestartet wird, verschwindet der gespeicherte Wert auf der $_SESSION praktisch und fängt wieder bei 0 an
Das Ziel einer Session ist eigentlich, dass die Werte erhalten bleiben. Löschst du die Werte manuell irgendwo?
Dein Code scheint mir aber falsch, da im ELSE-Zweig trotzdem die Lebenspunkte überschrieben werden!
 
Zurück