Session-Variablen

Alles, was PHP betrifft, kann hier besprochen werden.

Session-Variablen

Postby AF37HD » 07. June 2005 09:19

Hallo Leutz!

Ich habe Probleme mit der Verwendung von Session-Variablen.

<?php
$_SESSION['y'] = 'xxx';
include("/aaa/$y/ccc/data.php");
?>

Die so initialisierte Session-Variable steht wohl nicht gleich zur Verfügung. Erst wenn ich im Browser aktualisiere, erfolgt die Ausführung fehlerfrei. Muss ich das jetzt wirklich so schreiben?

<?php
$_SESSION['y'] = 'xxx';
$y = $_SESSION['y'];
include("/aaa/$y/ccc/data.php");
?>

Oder gibt es eine andere Möglichkeit? Wann und wie würdet Ihr allgemein den Einsatz von solchen Session-Variablen empfehlen?

Ich habe ausserdem durch das AutoCompleting im Editor gesehen, dass es insgesamt mehr Typen gibt:

$_COOKIE
$_ENV
$_FILES
$_GET
$_POST
$_REQUEST
$_SERVER
$_SESSION

Die $_GET kenne ich aus der Verarbeitung von Formularen. Zu was aber dienen denn die anderen? Vielleicht sollte ic ja garnicht $_SESSION verwenden?

Danke schon mal für Eure Hilfe!

A. Utz
AF37HD
 
Posts: 34
Joined: 23. December 2004 10:39

Postby Wiedmann » 07. June 2005 09:42

Die so initialisierte Session-Variable steht wohl nicht gleich zur Verfügung. Erst wenn ich im Browser aktualisiere, erfolgt die Ausführung fehlerfrei. Muss ich das jetzt wirklich so schreiben?
Code: Select all
<?php
$_SESSION['y'] = 'xxx';
$y = $_SESSION['y'];
include("/aaa/$y/ccc/data.php");
?>

Natürlich stehen deine Session-Variablen sofort zur verfügung. Nur solltest du die dann halt auch benutzen...
Code: Select all
<?php
    $_SESSION['y'] = 'xxx';
    include("/aaa/{$_SESSION['y']}/ccc/data.php");
?>


Ich habe ausserdem durch das AutoCompleting im Editor gesehen, dass es insgesamt mehr Typen gibt:...
Die $_GET kenne ich aus der Verarbeitung von Formularen. Zu was aber dienen denn die anderen?

Wie auch schon deine Frage zu den Session-Vars, wird das im Manual doch eigentlich schön erklärt?

Vielleicht sollte ic ja garnicht $_SESSION verwenden?

k.a. Das kommt ja immer drauf an was du machen willst...
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby $Ben » 10. June 2005 17:46

Generell kannst Du vielleicht mal hier reinschauen:
:arrow: [url=http://php-info.org/ftopic52.html]Daten per Session übergeben[/quote]

$_GET enthält die Daten, die Du per URL verschickst. Dazu kannst Du auch mal das hier durcharbeiten:
:arrow: Wie übergebe ich Daten per URL?

$_POST ist eigentlich für die Verarbeitung von Formularen gedacht. Das kannst Du aber einstellen. Du entscheidest das hier:
Code: Select all
<form action="datei.php" method="post">


$_COOKIE beinhaltet Daten aus Cookies. Wer hätte das gedacht? :D
Mit $_REQUEST kannst Du mit einem einzigen Array auf die Inhalte der drei vorangegangenen zugreifen. Es ist aber sinnvoll $_GET. $_POST und $_COOKIE anstatt $_REQUEST zu verwenden.

$_SERVER und $_ENV bieten Zugriff auf Variablen der aktuellen Umgebung des Scripts und des Webservers.
$_FILES enthält Daten, die per Upload zur Verfügung stehen.

$_SESSION ist nur ein weiteres superglobales Array.


EDIT:
Ich hätte Dir auch eigentlich nur diesen Link hier schicken können .. :roll:
:arrow: http://www.php.net/manual/de/language.v ... efined.php

Grüße Ben.
$Ben
 
Posts: 25
Joined: 26. March 2005 22:24
Location: Remagen


Return to PHP

Who is online

Users browsing this forum: No registered users and 59 guests