Sessionvariablen über 3 Seiten weiterleiten

mr-otin

Mitglied
Hallo,

Ich speichere mehrere Variblen in die Session:

PHP:
session_start();

$comi = '$comi';
$anz = '$anz';
$verpackung = '$verpackung';
$sonst = '$sonst';
$beschreibung = '$beschreibung';
$gewicht = '$gewicht';

session_register("$comi");
session_register("$anz");
session_register("$verpackung");
session_register("$sonst");
session_register("$beschreibung");
session_register("$gewicht");

Diese werden beim Submit auf die nächste Seite übertragen:

Code:
[HTTP_POST_VARS] => Array
        (
            [comi] => er
            [anz] => 1
            [verpackung] => Bund
            [sonst] => e
            [beschreibung] => e
            [gewicht] => ee
            [btnsubmit] => Senden
        )

    [_POST] => Array
        (
            [comi] => er
            [anz] => 1
            [verpackung] => Bund
            [sonst] => e
            [beschreibung] => e
            [gewicht] => ee
            [btnsubmit] => Senden

Ich moechte die Daten aber noch eine Seite weiter transportieren. Wie stelle ich das an. Mit ob_start()? und wenn ja wie kann ich dies realisieren?

best regards
Dave
 
Der Sinn von Sessions ist u.a., dass Du nur die Session-ID weiterreichen mußt.

Die Variablen bleiben in der Session gespeichert (auf dem Server), solange diese existiert und Du kannst auf jeder weiteren Seite darauf zugreifen, ausser Du löscht sie vorher mit unset().
 
Ich loesche diese nicht! Beim klick auf den Button submit auf der Seite 2 (wohin die sessionvariablen auch weitergeleitet werden)auf Seite 3, werden die Sessionvariablen net mehr weitergeleitet (angezeigt durch "print_r($GLOBALS);" ). Ich Habe auf allen 3 Seiten session_start angegeben. Wie leite ich die SID ueber eine Submitbutton weiter?
So?

<form action="./content/befo_print.php$sid" method="POST">
<input type="submit" name="senden" value=" Senden" />
</form>

best regards
Dave
 
Zuletzt bearbeitet:
Das sind die Namen der Eingabefelder, und er leitet sie ja auch auf die nächste Seite, aber nicht auf die übernächste! :(
 
Jetzt habe ich 2 Verständnisfragen:
1: Deine input - Felder heißen '$feldname'?
2: Du gibst die Daten in die Felder, klickst auf deinen Submit und registrierst die Session Variablen dann auf Seite 2, dann klickst du auf irgend einen Link um auf Seite 3 zu kommen und weg sind sie.

Versteh ich das alles richtig?
 
Versuch's mal nach folgendem Schema:
PHP:
$comi = $_POST['comi'];
session_register("comi");

Oder besser gleich so:
PHP:
$_SESSION['comi'] = $_POST['comi'];
(Ohne session_register())

Sven
 
Meine Felder bezeichne ich so: <input name="comi" type="text" />

Ich habe die $ mal rausgenommen. Ich registriere die Variablen auf Seite 1, uebergebe diese auf seite 2 und druecke dann nochmals submit und die variablen sind wech. Sessions id wird aber weitergeleitet! ?
 
Zuletzt bearbeitet:
Ich hab eben mal auf die schnelle dein Problem nachgebaut! Bei mir funktioniert das soweit. Kopier die mal den Code, bastel dir schnell seite1.php, seite2.php, seite3.php und guck ob das bei dir geht...

Code seite1.php
Code:
 <?
 session_start();
 ?>
 
 <html>
 <head>
 <title></title>
 </head>
 <body>
 <form action="seite2.php" method="POST">
 Feld1: <input type="Text" name="feld1" value="" size="" maxlength=""><br>
 Feld2: <input type="Text" name="feld2" value="" size="" maxlength=""><br>
 Feld3: <input type="Text" name="feld3" value="" size="" maxlength=""><br>
 <br>
 <input type="Submit" name="" value="">
 </form>
 </body>
 </html>

Code seite2.php

Code:
 <?
 session_start();
 ?>
 
 <html>
 <head>
 <title></title>
 </head>
 <body>
 <?
 $feld1 = $HTTP_POST_VARS['feld1'];
 $feld2 = $HTTP_POST_VARS['feld2'];
 $feld3 = $HTTP_POST_VARS['feld3'];
 
 session_register('feld1');
 session_register('feld2');
 session_register('feld3');
 
 echo $HTTP_SESSION_VARS['feld1'];
 echo $HTTP_SESSION_VARS['feld2'];
 echo $HTTP_SESSION_VARS['feld3'];
 ?>
 
 <a href="seite3.php">Weiter</a>
 
 </body>
 </html>

Code seite3.php

Code:
 <?
 session_start();
 ?>
 <html>
 <head>
 <title></title>
 </head>
 <body text="#000000" bgcolor="#FFFFFF" link="#FF0000" alink="#FF0000" vlink="#FF0000">
 
 <?
 echo $HTTP_SESSION_VARS['feld1'];
 echo $HTTP_SESSION_VARS['feld2'];
 echo $HTTP_SESSION_VARS['feld3'];
 ?>
 
 </body>
 </html>
 
@ M4st3r,

dein bsp funktioniert auch nur bis seite 2 :(. PHP Version 4.3.3, register_globals Master und Local = on. woran kann das liegen?
 
Zurück