Mehrere Werte speichern : SESSION

Eigentlich meinte ich, dass du mir schreibst, was der Browser jetzt (also nach der Änderung) ausgibt! Nicht den Quellcode!

cya
 
Hi,
ja steht doch oben: Es erscheint keiner Fehlermeldung mehr. Auf Seite 1 ist also die Auswahlliste mit den Werten, klickt man da auf einen oder mehreren werden die auf Seite 2 nicht weiter übergeben.

Danke,
Gruss!
 
Hallo,
mit dem Form-Tag hat es sicherlich nichts zu tun, da ich auf Seite 1 noch weitere Daten in die Session schreibe. Das klappt alles nur bis auf die Auswahlliste, die mehrere Werte speichern soll.
Hier trotzdem mal der Form-Tag:
PHP:
  <form name="start" method="post" action="<?php echo $PHP_SELF; ?>">

Auf Seite 2 habe ich es mit
Lokart: <?php echo $auswahl; ?>

und
echo "Wert1:".$_SESSION['lok_art1'];

versucht, doch nichts von dem klappt :suspekt:

Danke noch mal.
 
ok mach mal statt deines
PHP:
echo $auswahl;
in der Schleife das hier:

PHP:
$name_var="lok_art".$x;
session_register($name_var);
$$name_var=$auswahl;

Wenn das auch nichts hilft Lass dir mal auf Seite eins nach dem Submit das Array $_POST ausgeben:

PHP:
echo "<pre>";print_r($_POST['lokalitaetart']);
 
Hallo,
es funktioniert jetzt in sofern, dass keine Fehlermeldungen erscheinen und etwas übergeben wird. Es wird aber immer noch nur ein und nicht alle Werte ausgegeben.

Hier mal der aktuelle Code zum Verständnis:
Seite 1
PHP:
                <select name="lokalitaetart[]" size="3" multiple style="width:150px; height:60px;">
<?php 
$result= mysql_query("SELECT sorte FROM art order by artid ASC");
while ($row = mysql_fetch_object($result)) 
{
print "<option value=".$row->primary_key.">".$row->sorte."</option>";
}
?>
</select>
<?php 
if($_POST != NULL){ 
$x=1; 
foreach($_POST['lokalitaetart'] as $auswahl) { 
$name_var="lok_art".$x; 
session_register($name_var); 
$$name_var=$auswahl;
} 
} 
?>

Und auf Seite 2 rufe ich das ganze so auf:
PHP:
Lokart: <?php echo $lok_art1; ?>

Wenn ich nur $lok_art, oder $auswahl oder $name_var mache, wird nichts übergeben. Genauso wie wenn ich $lok_art2 oder 3 mache. Bei $lok_art1 wird der Wert übergeben, egal ob es der erste Wert, zweite oder egal welcher ist. Nur wenn ich mehrere auswähle, wird trotzdem nur ein Wert übergeben und nicht alle durch Kommas getrennt :suspekt:

Danke für die weitere Hilfe!
 
Lass dir irgenwo auf Seite 1 mal das $_POST['lokalitaetart'] ausgeben.

So wie ich es in meinem letzten Post beschrieben hab. (Formular absenden nicht vergessen)
 
Hallo,
wenn Du das meinst:
PHP:
<?php echo $_POST['lokalitaetart']; ?>
dann passiert nichts. Wird also nichts ausgegeben. Das ganze ist auf Seite 1 und Formular senden habe ich nicht vergessen.

Jetzt? :confused: :confused: :confused:
 
Lad mal eine php-Datei (Name egal) auf deinen Webspace, welche folgenden Inhalt hat:

PHP:
 <?php 
 
phpinfo();
 
?>

Danach rufst du sie auf und suchst (mittels Strg+F) den begriff 'register_globals'.

Sag mir dann, was daneben in der Zeile steht (entweder 2x 'On' oder 2x 'Off').

Schön langsam bin ich am Ende meines Lateins.

//edit:
Was hast du überhaupt für eine PHP-Version Das hab ich ja noch gar nicht gefragt!! *lool* :rolleyes:
 
Zuletzt bearbeitet:
Hallo,
neben register_globals steht bei mir 2x "ON". Und die Version ist "4.3.10".

Hey nero,
auch wenn wir es nicht schaffen, möchte ich mich noch mal wegen der Mühe bedanken. Cool wäre aber schon wenn wir das hinkriegen würden ;)

So weit davon entfernt sind wir nicht, oder? Hab im Netz die Funktion implode gefunden. Sagt Dir das was? Kann Soe uns weiter helfen?
 
Zurück