PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Nutzung einer Session-Variable


waltraud28
22.09.2005, 12:36:36
Hallo,

ich habe in einer Session eine Variable übergeben. Die Session-Variable wird als "position" bezeichnet.

Mit dem Befehl $position = $_SESSION['position']; mache ich die Variable für das Skript nutzbar.

Ausschnitt aus dem Skript:

<?
session_start();
$position = $_SESSION['position'];

Im Skript verwende ich folgende Schleifenkonstruktion:

if (.....)
{

}

else {

for ($i=0; $i<=$position;$i++)
{

}

}
?>

Wenn ich - wie im Skriptaussschnitt sichtbar - die Variable $position bei der Definition des Bereiches der for-Schleife verwende, werden die Daten in der Schleife überhaupt nicht verarbeitet d.h. die Daten werden im pdf-Dokument, welches generiert werden soll, nicht angezeigt.
Wenn ich $position durch einen festen Wert ersetze, läuft die Übergabe der Daten an das pdf-Dokument einwandfrei.

Kann mir jemand weiterhelfen, was ich ändern muß, damit ich $position so verwenden kann, wie ich es möchte !?

Danke für eure Hilfe

Gruß
Michael

Opendix
22.09.2005, 12:42:18
was beinhaltet den $_SESSION['position']?

und wie setzt du diese Variable?

feuervogel
22.09.2005, 12:46:52
wo wird denn $_SESSION[ 'position' ] gefüllt? steht da überhaupt ein wert drin? sieht nämlich nicht so danach aus...

waltraud28
22.09.2005, 13:12:17
Hallo,

die Variable wird eine Seite vorher mit session_register("position") registriert. Wiederum eine Seite vorher ist "position" der Name des Formular-Elementes, das ausgelesen wird.

Gruß
Michael

xabbuh
22.09.2005, 13:15:45
die Variable wird eine Seite vorher mit session_register("position") registriert.
session_register() ist veraltet. Werte werden in der Session gespeichert, in dem man sie in das $_SESSION-Array schreibt:

<?php
$_SESSION['posiition'] = $position;
?>


Wiederum eine Seite vorher ist "position" der Name des Formular-Elementes, das ausgelesen wird.
Vermutlich wird $position hier gar keinen Wert haben. Werte, die per Formular an eine Seite übergeben werden, befinden sich in dem superglobalen Array $_GET bzw. $_POST (je nachdem, mit welcher Methode das Formular versendet wurde):

<?php
$_SESSION['position'] = $_GET['position'];
// bzw.
$_SESSION['position'] = $_POST['position'];
?>