[PHP] - Sessionabfrage will nicht...
-
Original erstellt von Tobsen:
**
Wäre 'ne Möglichkeit, aba da gibts unter Garantie was besseres
MfGTobsen**
du sagst es... die variable is username... ausschnitt der login.php:
<?php session_start(); session_register("username"); ?> <? include ("config.php"); $password=crypt($password,$schluessel); $password .= "\n"; $log=0; $userdatei = fopen ("member_log_pwd.txt","r"); //In dieser "u_pass.txt" werden alle Userdaten gespeichert! //Damit nicht jeder die Passwörter auslesen kann, sind sie verschlüsselt! while (!feof($userdatei)) { $zeile = fgets($userdatei,50); $userdata = explode("|", $zeile); if ($userdata[0]==$user ....... ...
-
<?php
if(login_erfolgreich == true)
{
session_start();
$_SESSION['username'] = $username;
}if(empty(\_SESSION['username']) || !isset(_SESSION['username'])
{
echo "login";
}
else
{
echo "logout";
}
?>
-
ok. thx, habe jetzt
<?php if(empty($_SESSION['username']) || !isset($_SESSION['username'])) { echo "<br><a href=\"log_in.php\">Login</a>"; } else { echo "<br><a href=\"logout.php\">Logout</A>"; } ?>
und in der Login.php
<?php session_start(); session_register("username"); $_SESSION['username'] = $username; ?>
keine Ahnung, aber es will immer noch net klappen... ... komisch! wirlich komisch.. Oder bin ich zu blöd???
-
session_register() kannste schon mal weglassen. Und wenn _SESSION['username']) true ist.
-
okay.. warte..
Hier mal den ganzen code der Login.php<?php session_start(); session_register("username"); $_SESSION['username'] = $username; ?> <? include ("config.php"); $password=crypt($password,$schluessel); $password .= "\n"; $log=0; $userdatei = fopen ("member_log_pwd.txt","r"); //In dieser "u_pass.txt" werden alle Userdaten gespeichert! //Damit nicht jeder die Passwörter auslesen kann, sind sie verschlüsselt! while (!feof($userdatei)) { $zeile = fgets($userdatei,50); $userdata = explode("|", $zeile); if ($userdata[0]==$username && $userdata[1]==$password) { $log=1; } } fclose($userdatei); if ($log==1) { ?> <br><br><br><br><br><br><hR><center><b>Login erfolgreich!</b> Bitte klicke <a href="index.php">hier</a></center><hr> <? } else { die ("Benutzername oder Passwort falsch!<hr><a href=\"log_in.php\">Erneut versuchen</a>"); } ?>
Könnte es sein, dass ich _SESSION['username']=username zu früh gesetzt habe?
-
Also ich sehe da mehrere Fehler:
1. if (userdata[0]==username && userdata[1]==password)
- da scheint $username leer zu sein. (sehe jedenfalls nicht wo du es definierst!?2. session_register() kannst du echt einfach weglassen
3. Du sollst $_SESSION['username'] = $username erst dann der session zuweisen, wenn der login erfolgreich war.
Also z.B. if(login == erfolgreich)
{
weise session die variable username zu -> $_SESSION['username'] = $username;
}sonst ist die bedingung ja immer true!
so das wars nach erstem überfliegen.Falls es immer noch nicht klappt, schreib nochmal!
MfGTobsen
-
also.
1. FEHLER SIND ES KEINE!
a) Denn der Login klappt auch sonst IMMER wunderbar!
b) Der Bezug kommt aus dem Formular <input type="text" name=username....
c) das Forumar verweist auf <form action="member_login.php" method=....2. Eben dorthin, wo der COder der login.php ist...
a) Hab _SESSION['username']=username; nach IF gesetzt...
b) Funktioneirt leider immer noch nicht
c)Mfg
Pro
-
1. ok, tschuldigung!
2. schick nochmal den code so wie du ihn jetzt hast, dann schau ich mir das nochmal offline an.
MfGTobsen
-
<?php session_start(); ?> <? include ("config.php"); $password=crypt($password,$schluessel); $password .= "\n"; $log=0; $userdatei = fopen ("member_log_pwd.txt","r"); //In dieser "u_pass.txt" werden alle Userdaten gespeichert! //Damit nicht jeder die Passwörter auslesen kann, sind sie verschlüsselt! while (!feof($userdatei)) { $zeile = fgets($userdatei,50); $userdata = explode("|", $zeile); if ($userdata[0]==$username && $userdata[1]==$password) { $_SESSION['username'] = $username; $log=1; } } fclose($userdatei); if ($log==1) { echo "<br><br><br><br><br><br><hR><center><b>Login erfolgreich!</b> Bitte klicke <a href='index.php'>hier</a></center><hr>"; } else { die ("Benutzername oder Passwort falsch!<hr><a href=\"log_in.php\">Erneut versuchen</a>"); } ?> //Dann in der index.php folgendermaßen anfangen: <? session_start(); if(empty($_SESSION['username']) || !isset($_SESSION['username'])) { echo "Login"; } else { echo "Logout"; } ?>
[ Dieser Beitrag wurde am 01.05.2003 um 13:33 Uhr von Tobsen editiert. ]
-
Ok. Vielen Dank!
Klappt so!