Sessions erweitert

Shooter2k

Erfahrenes Mitglied
Hallöchen ich bin's mal wieder und ich stehe vor einen Problem.
Login : Name, Passwort .... weiterleitung .... geht .. innerhabl dieser weitergeleitetet seite (if daten richtig.. usw.. refresh...drin.php) .. .Erscheint auch die Session ID hinter den Link's .

Ich baue gerade an einer Singledatenbank. Mit Loginbereich , Suche, profil und alles was dazu gehört.

So nun schilder ich das Problem . ;) Der user Loggt sich ein. Kann seine Datenupdaten , Profil ändern.. alles geht . Nun klickt er auf "Suche im Menü " er erhält die Datensätzen und auch denk Link "Nachricht schreiben" . Ich habe es so gemacht, wenn ein Besucher eine Nachricht schreiben will, soll überprüft werden, ob er eingeloggt ist und falls es nicht der Fall ist sich registrieren oder Einloggen muss. Nur leider funktioniert es mit der Überprüfung der "session" nicht so ganz und nach dem Link "nachrichtschreiben.php" erscheint auch keine Sessionid , so wie es Im Loginbereich war.
D.H. also auch wenn er eingeloggt ist, kann er keine Nachricht schreiben und er erhält die Meldung , dass er nicht eingeloggt ist. Auf der Seite "nachrichtschreiben.php" wird ganz oben als <? require ("checkpage_sess.php");?> eingefügt..

PHP:
<? require ("checkpage_sess.php");?>

Wie übergebe ich nun die Session auf andere Seiten?
Ich habe das Session beispiel aus diesem Forum hier unter Tutorials genommen.

Kann mir jemand helfen. Die Session auch an anderen Seiten ich sage mal "aussenstehende Seiten" weiterzureichen?

Falls meine Schilderung unklar ist, dann gebe ich einfach mal diesen Link


Seite

Für den Login Name: testing2 und Psw : testtest

Danke schon mal !
 
Hallo, in der Datei checkpage_sess.php sollte folgendes ganz oben stehen:
PHP:
session_start();
Danach kannst Du über
PHP:
$_SESSION['variablenname'] = 'wert';
Variablen, die in der Session gespeichert sind editieren oder hinzufügen und mit
PHP:
$variable = $_SESSION['variablenname'];
Daten wieder aus der Session lesen.

mfg, snuu
 
evtl. eine variante

// weitergabe des Pass und Login via Link
<a href="eingabe.php?pass=<?php echo $pass;?>&log=<?php echo $log;?>&" class="lhnav">

// Diesen Befehl auf jeder Seite
<?php
if( empty($pass) ){
header ("Location: log.php?pass=$pass&F=unbekannt");
exit;
}
?>

ODER
//im Top
<?php
session_start();
$sessid = session_id();
?>

<?php
session_register('log','pass');
?>

// zur nächsten Seite
<a href="seite.php?ID=<?php echo $sessid; ?>">weiter</a>

Hoffe es hilft Dir!
 
Danke für die schnelle Antwort. Aber das mit diesem Klartest sende, finde ich ist keine gute Idee. Gibt es da noch eine andere Möglichkeit?
 
Ich schätze einfach mal du hast in deiner Datei checkpage_sess.php das Session_start(); vergessen am Anfang.

Wenn doch dann übergib einfach die Session ID
an die url.

<a href="page2.php?' . SID . '">page 2</a>

und nein da ist kein fehler, SID ist eine Konstante...
schau einfach hier http://de.php.net/manual/en/function.session-start.php

Wie Snu schon sagte ist es blödsin und zu gefährlich die Daten per GET weiterzuschicken!

:)
 
Zurück