Hallo ihr,
gleich zu meinem Problem, ich habe eine Datei namens login, die wie folgt aussieht:
<?php
include 'dbconnect.php';
$select = "SELECT nick, pw FROM users WHERE nick='$username' AND pw='$password' ";
$selconn = mysql_query($select);
IF ($daten = mysql_fetch_assoc($selconn)) {
$login_username = $username;
$login_password = $password;
session_start();
session_register("login_username");
session_register("login_password");
echo "<META HTTP-EQUIV=\"refresh\" CONTENT=\"0;URL=main.php?".session_name()."=".session_id()."\">";
} ELSE {
echo "<META HTTP-EQUIV=\"refresh\" CONTENT=\"0;URL=fehler2.php\">";
}
?>
so, das ganze ist für ein Forum... nun zu meinem problem... ich gebe da also meine daten ein name und passwort und werde auch richtig weitergeleitet an die main.php zusätzlich mit PHPSESSID=xxxxxxxxxxxxxxxxx (also ne session-id) hinter dem main.php... gut, in der main.php steht oben:
<?php
session_start();
?>
so und dann ist man halt eingeloggt, ich arbeite auch mit den variablen, nutze sie für db abfragen und ähnliches, soweit so gut. Ich übergebe nun diese Session an jede Seite und füge oben auch immer:
<?php
session_start();
?>
auch das geht alles, die session funzt also immer, super... so, dann schliesse ich meinen Browser, gehe erneut auf die Seite und was passiert? Ich bekomme ne neue Session zu gewiesen und bin nimmer eingeloggt, muss mich also jedes mal, nachdem ich den Browser schliesse und die seite wieder aufrufe neu einloggen und das ist echt tierisch nervig! Woran liegt das? Wenn ich mir meine session merke und gebe es dann halt so ein...
main.php?PHPSESSID=xxxxxxxxxxxxxxxxx
geht es, gehe ich aber nur auf main.php bekomme ich ne neue session, kann mir da vielleicht mal einer helfen?! Was soll ich tun, ich habe es schon so versucht, einfach ne weiterleitung per index.php die so aussieht:
<?
session_start(); (ohne dem kommt gar nix...)
$sid = session_id();
$sname = session_name();
header ("Location: main.php?$sname=$sid");
exit;
?>
doch das funzt alles nicht, kann mir vielleicht mal jemand sagen wie ich auslesen kann welche session ich hatte als ich noch richtig eingeloggt war und wie ich die auch nach schliessen des browser wieder rausfinde und dann hinten an die main.php anfügen kann? Ich bin hier echt am verzweifeln, bin halt noch newbie in sachen php :-( Würde mich über Hilfe sehr freuen!
Gruss,
Etienne
gleich zu meinem Problem, ich habe eine Datei namens login, die wie folgt aussieht:
<?php
include 'dbconnect.php';
$select = "SELECT nick, pw FROM users WHERE nick='$username' AND pw='$password' ";
$selconn = mysql_query($select);
IF ($daten = mysql_fetch_assoc($selconn)) {
$login_username = $username;
$login_password = $password;
session_start();
session_register("login_username");
session_register("login_password");
echo "<META HTTP-EQUIV=\"refresh\" CONTENT=\"0;URL=main.php?".session_name()."=".session_id()."\">";
} ELSE {
echo "<META HTTP-EQUIV=\"refresh\" CONTENT=\"0;URL=fehler2.php\">";
}
?>
so, das ganze ist für ein Forum... nun zu meinem problem... ich gebe da also meine daten ein name und passwort und werde auch richtig weitergeleitet an die main.php zusätzlich mit PHPSESSID=xxxxxxxxxxxxxxxxx (also ne session-id) hinter dem main.php... gut, in der main.php steht oben:
<?php
session_start();
?>
so und dann ist man halt eingeloggt, ich arbeite auch mit den variablen, nutze sie für db abfragen und ähnliches, soweit so gut. Ich übergebe nun diese Session an jede Seite und füge oben auch immer:
<?php
session_start();
?>
auch das geht alles, die session funzt also immer, super... so, dann schliesse ich meinen Browser, gehe erneut auf die Seite und was passiert? Ich bekomme ne neue Session zu gewiesen und bin nimmer eingeloggt, muss mich also jedes mal, nachdem ich den Browser schliesse und die seite wieder aufrufe neu einloggen und das ist echt tierisch nervig! Woran liegt das? Wenn ich mir meine session merke und gebe es dann halt so ein...
main.php?PHPSESSID=xxxxxxxxxxxxxxxxx
geht es, gehe ich aber nur auf main.php bekomme ich ne neue session, kann mir da vielleicht mal einer helfen?! Was soll ich tun, ich habe es schon so versucht, einfach ne weiterleitung per index.php die so aussieht:
<?
session_start(); (ohne dem kommt gar nix...)
$sid = session_id();
$sname = session_name();
header ("Location: main.php?$sname=$sid");
exit;
?>
doch das funzt alles nicht, kann mir vielleicht mal jemand sagen wie ich auslesen kann welche session ich hatte als ich noch richtig eingeloggt war und wie ich die auch nach schliessen des browser wieder rausfinde und dann hinten an die main.php anfügen kann? Ich bin hier echt am verzweifeln, bin halt noch newbie in sachen php :-( Würde mich über Hilfe sehr freuen!
Gruss,
Etienne
Kommentar