Hallo, sry für die vage Überschrift, aber mir ist nichts besseres eingefallen.
Nun zu meinem Problem:
Ich bastel mit einem Kommilitonen an einer Filmdatenbank, wo Freunde halt ihre DVD-Sammlung reinstellen können.
Diese Datenbank soll mit PHP und SQL realisiert werden.
Nun sind wir auf folgendes Problem gestoßen:
Man soll sich später auf der Seite einloggen können, da nur eingelogte User auf die Datenbank zugreifen dürfen.
Wir haben also ein Loginskript geschrieben, was Benutzername und Passwort über ein Formular abfragt, mit der Userdatenbank vergleicht und bei korrekter Eingabe den Username in eine Session-Variable speichert.
Soweit, sogut.
Nun habe ich ein bissle Code integriert, so dass mir linsk unten auf der Seite angezeigt wird: "Eingeloggt als: <Username oder halt Gast> je nachdem, ob die Session-Variable "Username" gesetzt ist oder nicht.
Nachdem ich nun beim Login auf einloggen gehe, wird mir unten links auch schön der Username angezeigt.
Sobald ich jedoch irgendeinen Link auf der Seite anklicke (z.B. aus der Navibar heraus) oder einen weiteren Button anklicke (z.B. um einen Film in die DB einzutragen) steht unten wieder "Eingeloggt als Gast".
Nach ein bisschen echo's setzen scheint es nun wirklich so zu sein, dass die Session-Variable gelöscht wurde.
Danach hab ich mal gegooglet und hier dieses Tutorial gefunden:
http://www.php-resource.de/tutorials/read/33/1/
Im Grunde habe ich es fast genau so gemacht wie dort erklärt.
Ich habe also die Quelldateien von diesem Tutorial runtergeladen, die Datenbankeinträge verändert, ansonsten alles genauso gelassen und versucht mich dort einzuloggen.
Genau das selbe Problem: Ich logge mich ein, er geht auf eine neue Seite wo steht "Login erfolgreich" + Link zu einer Seite, die halt nur eingeloggt erreichbar sein soll.
Sobald ich auf den Link klicke haut er mich wieder auf die Indexseite, aufgrund der Abfrage
Da ich davon ausgehe, dass das Tutorial ansich lauffähig ist , und somit mein SourceCode auch muss es an irgendwas anderes liegen, das die Session-Variablen nicht richtig gespeichert werden, wenn ich auf einen Link/Button klicke.
Und hier meine Frage:
Wo könnte der Fehler sein?
Das benutze ich:
Mozilla/5.0 (Windows; U; Windows NT 5.1; de-DE; rv:1.7.12) Gecko/20050919 Firefox/1.0.7
Der Webserver:
Apache/2.0.46 (Win32) mod_perl/1.99_10-dev Perl/v5.8.0 PHP/4.3.2 mod_ssl/2.0.46 OpenSSL/0.9.7b
Und MySQL kommt wie folgt daher:
\wampp2\mysql\bin\mysqld Ver 4.0.13-max-debug for Win95/Win98 on i32 0
Falls ich vergessen habe, was zu schreiben,lasst esmich wissen.
Ich bin für jeden Rat dankbar!
Nun zu meinem Problem:
Ich bastel mit einem Kommilitonen an einer Filmdatenbank, wo Freunde halt ihre DVD-Sammlung reinstellen können.
Diese Datenbank soll mit PHP und SQL realisiert werden.
Nun sind wir auf folgendes Problem gestoßen:
Man soll sich später auf der Seite einloggen können, da nur eingelogte User auf die Datenbank zugreifen dürfen.
Wir haben also ein Loginskript geschrieben, was Benutzername und Passwort über ein Formular abfragt, mit der Userdatenbank vergleicht und bei korrekter Eingabe den Username in eine Session-Variable speichert.
Soweit, sogut.
Nun habe ich ein bissle Code integriert, so dass mir linsk unten auf der Seite angezeigt wird: "Eingeloggt als: <Username oder halt Gast> je nachdem, ob die Session-Variable "Username" gesetzt ist oder nicht.
Nachdem ich nun beim Login auf einloggen gehe, wird mir unten links auch schön der Username angezeigt.
Sobald ich jedoch irgendeinen Link auf der Seite anklicke (z.B. aus der Navibar heraus) oder einen weiteren Button anklicke (z.B. um einen Film in die DB einzutragen) steht unten wieder "Eingeloggt als Gast".
Nach ein bisschen echo's setzen scheint es nun wirklich so zu sein, dass die Session-Variable gelöscht wurde.
Danach hab ich mal gegooglet und hier dieses Tutorial gefunden:
http://www.php-resource.de/tutorials/read/33/1/
Im Grunde habe ich es fast genau so gemacht wie dort erklärt.
Ich habe also die Quelldateien von diesem Tutorial runtergeladen, die Datenbankeinträge verändert, ansonsten alles genauso gelassen und versucht mich dort einzuloggen.
Genau das selbe Problem: Ich logge mich ein, er geht auf eine neue Seite wo steht "Login erfolgreich" + Link zu einer Seite, die halt nur eingeloggt erreichbar sein soll.
Sobald ich auf den Link klicke haut er mich wieder auf die Indexseite, aufgrund der Abfrage
PHP-Code:
session_start();
if(!session_is_registered('user') || $_SESSION['user'] == "")
{
header("location:index.php");
die;
}
Und hier meine Frage:
Wo könnte der Fehler sein?
Das benutze ich:
Mozilla/5.0 (Windows; U; Windows NT 5.1; de-DE; rv:1.7.12) Gecko/20050919 Firefox/1.0.7
Der Webserver:
Apache/2.0.46 (Win32) mod_perl/1.99_10-dev Perl/v5.8.0 PHP/4.3.2 mod_ssl/2.0.46 OpenSSL/0.9.7b
Und MySQL kommt wie folgt daher:
\wampp2\mysql\bin\mysqld Ver 4.0.13-max-debug for Win95/Win98 on i32 0
Falls ich vergessen habe, was zu schreiben,lasst esmich wissen.
Ich bin für jeden Rat dankbar!
Kommentar