Sessionvariable aktualisieren

benno

Grünschnabel
hi leute!

Es steht zwar einiges im Forum ueber Sessionvariablen, aber leider noch nicht das was ich brauche.

Also: Ich Ich hab zwei Seiten und moechte eine Sessionvariable updaten.
Ihr muesst euch das so vorstellen, dass ich auf der ersten Seite aus einem Textfeld einer Sessionvariable einen Wert zuweise, der dann (na klar) an die zweite Seite uebergeben wird. Wenn ich nun von der zweiten Seite wieder auf die erste Seite zurueckgehe und in das Textfeld einen anderen Wert hineinschreibe, wieder mittels submit-button auf die zweite Seite gehe dann sollte er mir den Wert aktualisieren. Stattdessen passiert gar nichts - also wirklich gar nichts...
Ach so: Einfach ausgedrueckt ist der Counter nur dafuer da, dass die Variable nur beim Aufruf von der ersten Seite aktualisiert wird.

Ich hab das folgendermassen implementiert:

Seite1:
PHP:
<?php
   $counter = 0;
?>
<input type="text" name="textfeld" value="<?php echo $_SESSION['var']; ?>"
<input type="submit"> //typischer submit-Button der auf 2. Seite verweisst

Seite2:
PHP:
<?php
session_register("counter");
$counter++;

if($counter == 1)
{
  $_SESSION['var'] = $_POST['textfeld'];
}

Ich glaub ich hab's etwas kompliziert beschrieben, aber hoffe ihr kennt euch trotzdem aus...

benno
 
ich glaube das liegt an dem counter. $counter wird beim zurückgehen auf die 1. seite nicht wieder auf 0 gesetzt, sondern bleibt 1. übergibst du die countervariable irgendwie?
 
Meine counter variable wird auch uebergeben.
und ich weiss schon, dass es nicht am counter liegt - das funktioniert wie gewuenscht.

Ich hab schon viel ausprobiert und es scheitert immer an dem Punkt, wenn ich beim zweiten Aufruf der 1. Seite den Wert aendere.

Er sollte die Sessionvariable dann aktualisieren, aber wie schon oben erwaehnt, tut sich nach druecken des submit-button nichts mehr.

benno
 
Würde auch mal ganz empirismus-mäßig per echo beobachten welche Werte $counter so annimmt.

Wie methodus schon sagte, gibt's keine Verbindung zwischen counter auf Seite1 und Seite2. Da bringt dir auch das session_register nichts.

Würde das increment bzw. die if-Abfrage auch auf $_session['counter'] anwenden.

---------------------------------


Was heißt tut sich nichts mehr?
 
Zuletzt bearbeitet:
ihr vergesst die Session zu initialisieren!
bei jeder Seite wo du auf die Variablen zugreifen willst musst du erst ein session_start(); ausführen, erst dann kannst du mit $_SESSION['VAR'] auch darrauf zugreifen!

mit nur einer Seite:
PHP:
<?
session_start(); // wir wollen ja ne Session oder!?
if(!isset($_SESSION['counter'])){ // falls Variable 'counter' nicht besteht  init = 0!
   $_SESSION['counter'] = 0; // init...
}
else {
	$_SESSION['counter']++; // falls sie schon besteht dann ziehen wir den Counter hoch!
}
?>

<input type="text" name="textfeld" value="<?=$_SESSION['counter']; ?>">
<input type="submit" onClick="javascript:location.href='index.php'">

mit 2 Seiten:
page1:
PHP:
<?
session_start(); // wir wollen ja ne Session oder!?
if(!isset($_SESSION['counter'])){ // falls Variable 'counter' nicht besteht  init = 0!
   $_SESSION['counter'] = 0; // init...
}
?>
<input type="text" name="textfeld" value="<?=$_SESSION['counter']; ?>">
<input type="submit" onClick="javascript:location.href='counter.php'">

page2:
PHP:
<?
session_start(); // wir wollen ja ne Session oder!?
if(isset($_SESSION['counter'])){ // falls Variable 'counter' besteht dann hochzählen!
   $_SESSION['counter']++; // count++;
   header("Location: index.php"); // und hier gehts nun zur main site
}
?>
 
Zuletzt bearbeitet:
Danke erstmal fuer die zahlreichen Beitraege, aber ich habe die Session initialisiert. Das Programm oben sollte nur einen Ausschnitt mit den wichtigsten Teilen meines Progeamms enthalten.
Ich kann naemlich nicht den ganzen Code posten, weil ich auf dem Pc wo ich programmiere keinen Internetzugang hab.

Das Problem hab ich aber leider immer noch nicht geloest...

Aber ich arbeite dran und vielleicht kommt ja von euch noch was Nuetzliches...

benno
 
Also ich, an deiner Stelle würde es mit Sessions ganz lassen...
Was brtingen die realistisch gesehen denn für einen Vorteil bei deinem Script ?

Ich denke, alles was du mit Sessions lösen "könntest" kannst du genauso gut mit Cookies lösen.
 
Zurück