analogbernd
Mitglied
hallo, ich habe einen login ( welcher funktioniert ) abreiten möchte ich mit sessions, eben ohne keks
der benutzer loggt sich ein, kommt auf eine interne seite. dort gibt es verschiedene links welche zu anderen internen seiten führen.
bis hierhin funktioniert auch alles. die session id und die variable die ich immer wieder mit übergeben möchte, hängen immer an der url.
der login sieht wie folgt aus.
login2.php
ich habe in jeder aufrufbaren seite folgenden schnipsel required
login_pruefen.php
diesen teil habe ich später nur mal in die login2.php eingefügt, um eben ne lösung für mein problem zu finden.
so, nun mal zu meinem problem.
ich logg mich ein, interne seite alles klar.
klicke auf nen link, die sid und meine variable werden ordnungsgemäß übergeben und landen auf der nächsten seite. dort lasse ich sie mir anzeigen, ab jetzt sind die links aber nur noch ohne sid und die variable, warum das?
meine links mache ich so:
warum habe ich meine daten nur auf den ersten 2 seiten und ab der dritten sind sie verloren?
habe auch schon einige dinge durchprobiert, wie zb.
$usr = $HTTP_SESSION_VARS[usr];
denn
$HTTP_SESSION_VARS[usr];
ist auf der dritten seite vorhanden. so wie es sein soll...ich mein, ich könnt ja ab dort diese vari nutzen, aber ich will es eben per url haben.
wo habe ich den denkfehler?
dank euch für die vielen antworten
zur login2.php noch was: ich weiß, session_register ist veraltet., sollte aber nicht das problem sein.
ach ja und die login_pruefen wird immer am anfang required
der benutzer loggt sich ein, kommt auf eine interne seite. dort gibt es verschiedene links welche zu anderen internen seiten führen.
bis hierhin funktioniert auch alles. die session id und die variable die ich immer wieder mit übergeben möchte, hängen immer an der url.
der login sieht wie folgt aus.
login2.php
PHP:
<?PHP
session_start();
$usr = $txt_user;
$pass = $txt_pass;
$cpass = md5($pass);
require("db.php");
$SQL = "SELECT usr_name FROM Login WHERE usr_name = '$usr' and passwort = '$cpass'";
$rs = mysql_query($SQL);
if(mysql_num_rows($rs) == 1) {
$session_id = session_id();
$_SESSION["session_id"] = session_id();
$_SESSION["usr"] = $txt_user;
$login = 1;
session_register("login");
} else {
if (!isset($_SESSION['login'])) {
// Variable nicht registriert
@header("Location:index.php");
exit;
}
}
mysql_close();
?>
ich habe in jeder aufrufbaren seite folgenden schnipsel required
login_pruefen.php
PHP:
<?php
session_start();
if (!isset($_SESSION['login'])) {
// Variable nicht registriert
@header("Location:index.php");
exit;
}
?>
diesen teil habe ich später nur mal in die login2.php eingefügt, um eben ne lösung für mein problem zu finden.
so, nun mal zu meinem problem.
ich logg mich ein, interne seite alles klar.
klicke auf nen link, die sid und meine variable werden ordnungsgemäß übergeben und landen auf der nächsten seite. dort lasse ich sie mir anzeigen, ab jetzt sind die links aber nur noch ohne sid und die variable, warum das?
meine links mache ich so:
PHP:
<?php echo "<a href='chat.php?sid=$session_id&benutzer=$usr'>Chat<br></a>";?
warum habe ich meine daten nur auf den ersten 2 seiten und ab der dritten sind sie verloren?
habe auch schon einige dinge durchprobiert, wie zb.
$usr = $HTTP_SESSION_VARS[usr];
denn
$HTTP_SESSION_VARS[usr];
ist auf der dritten seite vorhanden. so wie es sein soll...ich mein, ich könnt ja ab dort diese vari nutzen, aber ich will es eben per url haben.
wo habe ich den denkfehler?
dank euch für die vielen antworten
zur login2.php noch was: ich weiß, session_register ist veraltet., sollte aber nicht das problem sein.
ach ja und die login_pruefen wird immer am anfang required