Hilfe bei Sessions
Stephan
- php
Hi,
also ich kapiere dieses Session ding nicht:
<?php
session_start ();
include("config.inc.php");
$db = @mysql_pconnect($host, $user, $pass) or die ("Verbindung mit MySQL-Server fehlgechlagen!");
@mysql_select_db($database, $db) or die ("Verbindung zur Datenbank fehlgeschlagen!");
$sql = mysql_query("SELECT * FROM user WHERE (name like '$username') AND (pass = '$password')", $db) or die('mySQL ERROR (' . __LINE__ . '): '.mysql_error());
$num_rows = mysql_num_rows ($sql);
if ($num_rows > 0) {
$datenrichtig = true;
$user_eingeloggt = true;
} else {
$datenrichtig = false;
$user_eingeloggt = false;
$rechte = 0;
}
session_register ("user_eingeloggt");
?>
<?php if ($datenrichtig) { ?>
<meta http-equiv="Refresh" content="2; url=index.php?<?=session_name()?>=<?=session_id()?>">
<?php } ?>
und dann auf jeder Seite
<?php
session_start();
if ((session_is_registered ("user_eingeloggt")) AND ($user_eingeloggt)) {
?>
<?php
include ("config.inc.php");
?>
Wie kann ich da noch einen Usernamen mitliefern?
Danke schonmal
Stephan
Hallo,
also ich kapiere dieses Session ding nicht:
Du hast vor allem eine veraltete Quelle, wo Du
den Quellcode abgeschrieben hast.
session_register() ist veraltet.
Heute arbeitet man mit $_SESSION
session_register ("user_eingeloggt");
=> Entfernen bzw. gleich $_SESSION['user_eingeloggt'] den Wert (true/false) zuweisen.
<?php if ($datenrichtig) { ?>
<meta http-equiv="Refresh" content="2; url=index.php?<?=session_name()?>=<?=session_id()?>">
<?php } ?>
Warum so kompliziert?
Warum ein unzuverlaessiges Gebastel (META), wenn Du mit header()
auch eine anstaendige HTTP-Umleitung machen kannst?
Warum verwendest Du nicht die Konstante SID bzw. die Variable $PHPSESSID ?
if ((session_is_registered ("user_eingeloggt")) AND ($user_eingeloggt)) {
???
if ($_SESSION['user_eingeloggt']==true)
{ /* ... */ }
Wie kann ich da noch einen Usernamen mitliefern?
Den solltest Du eben am Anfang in der Session speichern.
z.B. in $_SESSION['username']
Gruesse,
Thomas
Ähm, ok, gibts dazu ein Tut?
Hallo,
Ähm, ok, gibts dazu ein Tut?
Klar: ;-)
http://www.php.net/manual/de/ref.session.php
http://www.dclp-faq.de/q/q-sessions-wie.html (und folgende)
http://tut.php-q.net/sessions.html
mfg, Thomas
Moin!
Warum verwendest Du nicht die Konstante SID bzw. die Variable $PHPSESSID ?
Es gibt die Konstante SID, aber es gibt keine Variable $PHPSESSID.
Es sei denn, register_globals ist ON, und session_name() ergibt "PHPSESSID".
Man verlasse sich also niemals auf $PHPSESSID, sondern benutze session_id() zum Ermitteln der aktuellen Session-ID, und session_name() zum Ermitteln des Session-Namens.
- Sven Rautenberg
Hallo Sven,
Man verlasse sich also niemals auf $PHPSESSID, sondern benutze session_id() zum Ermitteln der aktuellen Session-ID, und session_name() zum Ermitteln des Session-Namens.
Danke fuer die Aufklaerung/Berichtigung!
mfg, Thomas