session_abfrage

hi leute

wie mache ich eine session abfrage?
ich möchte das ich solang der browser offen ist immer zugriff auf der seite habe und sobald ich den browser schliesse und neu starte und die letzte url eingib das er mich auf den login zurückschmeisst

ich habe diese code nur von forum hier heraus deshalb weiss ich nicht genau wie ich das machen soll

<?php session_save_path("./save");
session\_start(); session\_register("name"); session\_register("passwort"); ?\> dieser code befindet sich auf drei seiten wie soll ich den das abfrage die session auf stop setzen? oder wie ich komme immer auf der seite auf wenn ich den browser neustart aber das soll ja nicht sein er sollte mich ja zurück zum login schmeissen ich hoffe ich habe mich klar ausgedrück und mir kann ja jemand eim paar tipps geben wie ich das lösen könnte vielen dank schon mal im voraus

Hallo !

hi leute

wie mache ich eine session abfrage?
ich möchte das ich solang der browser offen ist immer zugriff
auf der seite habe und sobald ich den browser schliesse und
neu starte und die letzte url eingib das er mich auf den login
zurückschmeisst

ich habe diese code nur von forum hier heraus deshalb weiss
ich nicht genau wie ich das machen soll

<?php :
session\_save\_path("./save"); session\_start(); session\_register("name"); session\_register("passwort"); ?\>

Sofern die PHP-Version aktuell ist (4.2 oder höher), sollte man session_register nicht verwenden.
Nach dem session_start kann man einfach auf das superglobale Array $_SESSION zugreifen, welches die Sessionvariablen verwaltet.
$_SESSION[„name“] = „bla“; weist dann zum Beispiel einen Wert zu, welchen man (auch in einer anderen Datei oder bei anderem Request) z.B. mit echo $_SESSION[„name“] wieder anzeigen lassen kann.

Beispiel für Login:

login.php:
<?php session_start();<br /> if (isset($\_POST["name"]) && isset($\_POST["password"])) {
 // name, passwort vergleichen, wenn korrekt
 $\_SESSION["name"]=$\_POST["name"];
 Header("Location: http://.../seite.php"); //Umleitung zur Startseite nach Login
 } else {
 // Formular ausgeben
 }
?\>

seite.php
<?php session_start();<br /> if (!isset($\_SESSION["name"])) {
 // nicht eingeloggt, zurück zum Login
 Header("Location: http://.../login.php");
 exit;
 };
 $name = $\_SESSION["name"];
 //....
?\>

logout.php:
<?php session_start();<br /> unset($\_SESSION["name"]); // oder einfach session\_destroy();
?\>

Alexander

P.S.: Wenn nicht unbedingt nötig, Passwort nicht in der Session speichern. Warum definierst du ein eigenes Verzeichnis als session_save_path ? Die Systemvoreinstellung sollte normalerweise immer funktionieren, und du musst bei dem eigenen Verzeichnis die Rechte jeweils korrekt setzen, damit es geht.

hallo alexender

danke für deine ausführliche erklärung
es klappt auch soweit
nur wenn ich den Pfad von der Session lösche dann kommen mir 3 Warnungen, aber wenn ich ihn reinschreibe dann klappt es

werde mal schaugen ob ich eine andere lösung finde

also danke für deine Bemühung

grüsse andi

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

nur wenn ich den Pfad von der Session lösche dann kommen mir 3
Warnungen, aber wenn ich ihn reinschreibe dann klappt es

php.ini öffnen und bei session.save_path ein Verzeichnis eintragen, was es gibt, könnte helfen…

Alexander

hi Alexander

habe das mal probiert mit der php.ini klappt aber nicht.
Egal habe da noch ein ganz anderes Problem
ich möchte auf der Seite wo ich die Sessinabfrage mach, dass wenn nicht die Session gesetzt ist er aufs login zurückspringt und dort zwei wert mitschicke. Ich will damit bezwecken das mir untern login einfach nur ein text erscheint ging natürlich auch mit einer 2 login und den gewünschten text darunter aber ich möchte das eben in php machen und hoff das ich da was dazulernen kann

ich habe das so gemacht

echo " ";

Weiß nicht ob das so korrekt ist login.php?action=1&&test=1?
ich habe es mit deinen code probiert aber dort klappt es auch nicht
Header(„Location: login.php?action=1&&test=1“);

beim login frage ich das so ab

$action=$_POST[action];
$test=$_POST[test];
if ($action == „1“)
{
if ($test == „1“)
{
echo „richtig“;
}
else
{
echo „falsch“;
}
}

und das funzt nicht, was mach ich da falsch hoffe du kannst mir da ein tipp geben, ansonsten egal hast mir schon mit die session genug geholfen
also vielen dank nochmal

grüsse andi

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

habe das mal probiert mit der php.ini klappt aber nicht.

Richtige erwischt ? Bei Windows gibt es die ggfs. mehrfach…

Egal habe da noch ein ganz anderes Problem
ich möchte auf der Seite wo ich die Sessinabfrage mach, dass
wenn nicht die Session gesetzt ist er aufs login zurückspringt
und dort zwei wert mitschicke. Ich will damit bezwecken das
mir untern login einfach nur ein text erscheint ging natürlich
auch mit einer 2 login und den gewünschten text darunter aber
ich möchte das eben in php machen und hoff das ich da was
dazulernen kann

ich habe das so gemacht

echo " ";

Geht auch, kannst aber auch das schon erwähnte
Header(„Location: http://…/login.php?action=1&test=1“); nehmen.

Weiß nicht ob das so korrekt ist login.php?action=1&&test=1?

Fast. Ein & zuviel: login.php?action=1&test=1

ich habe es mit deinen code probiert aber dort klappt es auch
nicht
Header(„Location: login.php?action=1&&test=1“);

Der Location Header geht zwar meist auch so (ein & zuviel ist trotzdem) , dies aber eigentlich nicht korrekt. Hier muß laut RFC die volle URL stehen, also mit http://… davor.

beim login frage ich das so ab

$action=$_POST[action];
$test=$_POST[test];

Fehler gefunden: Erstens fehlen da „“, und 2. fragt du nach POST-Variablen (die würdest du bekommen, wenn du ein Formular sendest mit ), hast deine Daten aber in der URL (also per GET) übergeben. Die sind also logischerweise leer.

$action=$_GET[„action“];
$test=$_GET[„test“];

ist besser. Oder gleich $_REQUEST, da ist GET und POST drin.

if ($action == „1“)
{
if ($test == „1“)
{
echo „richtig“;
}
else
{
echo „falsch“;
}
}

Das sollte gehen.

Alexander

Hi Alexaner

Habe das alles probiert
klappt alles bis auf das speichern von den session aber las mal das werde ich schon irgendwie hinbekommen hast mir schon gunug tipps gegeben

also vielen vielen dank für deinen bemühungen

mfg andi

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]