problem beim login

Slimie

Erfahrenes Mitglied
hi leute,


ich hab ein kleines problem! ich möchte durch ein formular in einer login.php daten schicken und wenn die richtig sind soll ein cookie gesetzt werden! ich hab hier so ziemlich alle beiträge aus der suchfunktion durchgelesen aber finde den fehler nicht :( hier das formular:

PHP:
echo "<form method=\"post\" action=\"login.php\">\n";
echo "<span class=\"navi_ueber\">&nbsp;&nbsp;&nbsp;login</span><br><br>\n";
echo "<span class=\"navi\">&nbsp;&nbsp;&nbsp;user: <input type=\"text\" name=\"userlog\" size=\"10\" class=\"textarea\"><br>\n";
echo "&nbsp;&nbsp;&nbsp;pass: <input type=\"password\" name=\"userpass\" size=\"10\" class=\"textarea\"><br><br>\n";
echo "&nbsp;&nbsp;&nbsp;<input type=\"image\" src=\"gfx/login.jpg\"></span>\n";
echo "</form>\n";

und jetzt die login.php
PHP:
<?php

if ($userlog = "bla" and $userpass = "blub")
{
	setcookie ("username","slimie",time()+216000);
	setcookie ("angemeldet","1",time()+216000);

	echo "<script language=\"javascript\">\n";
	echo "<!--\n";
	echo "self.location.href('index.php');\n";
	echo "//-->\n";
	echo "</script>\n";
}

elseif
{
	setcookie("username","",time()-3600);
	setcookie("angemeldet","",time()-3600);
	echo "<script language=\"javascript\">\n";
	echo "<!--\n";
	echo "self.location.href('index.php');\n";
	echo "//-->\n";
	echo "</script>\n";
}

?>

das wird so in der datei ausgelesen...
PHP:
if (!isset($username))
{
inhalt wenn man nicht eingeloggt ist...
}

else
{
inhalt nach dem einloggn...
}

aber der loggt sich immer ein :( egal ob das stimmt oder nicht sobald man auf login klick ist man eingeloggt!

kann mir jemand helfen?


thx!!! slimie
 
Zuletzt bearbeitet:
-

PHP:
setcookie("username","",time()-3600);
Wenn du diesen Cookie mit isset() überprüfst, wird er trotzdem für richtig eingestuft, da es ja die Variable $username gibt, sie jedoch leer ist. Also ist man immer eingelogt.

Bin mir nicht 100% sicher, aber solltest mal anders probieren und gucken, ob es daran lag.
 
schauh dir mal die lektion operatoren noch mal an .. da hast du was wichtiges verpasst.
um 2 variablen zu vergleichen musst du == verwenden und nicht das einfache = !!!!
also muss es heißen :
PHP:
if ($userlog == "bla" && $userpass == "blub")
{
  ...
}

mfg
 
-

Ui, übersehen.
Aber ist das mit den Cookies auch ein Fehler? Oder werden die anderen nicht mehr überprüft, weil sie in der Vergangenheit liegen??
 
hi,


ich will nich als blöd da stehen aber ich kriege das voll nich hin! hat keiner ne idee was ich machen kann? :(

das mit dem && hab ich geändert!


thx!! slimie
 
pass auf :
als erstes schreibst du in die login.php folgendes :
PHP:
<?
if ($userlog=="bla" && $userpass=="blub")
{
    setcookie ("username","slimie",time()+216000);
    setcookie ("angemeldet","1",time()+216000);

    echo "<script language=\"javascript\">\n";
    echo "<!--\n";
    echo "self.location.href('index.php');\n";
    echo "//-->\n";
    echo "</script>\n";
}

elseif
{
    setcookie("angemeldet","0",time()-3600);
    echo "<script language=\"javascript\">\n";
    echo "<!--\n";
    echo "self.location.href('index.php');\n";
    echo "//-->\n";
    echo "</script>\n";
}
?>

dann fragst du in den folgedateien folgendes ab :
PHP:
if (isset($username) && isset($angemeldet) && $angemeldet==1)
{
inhalt, wenn man eingeloggt ist ..
}

else
{
inhalt, wenn man NICHT eingeloggt ist ..
}

so sollte es dann funktionieren

mfg
 
hi,


danke habs schon geschafft! ;) habs mit sessions und mysql login gemacht! bau jetzt doch auf mysql um... ist ja für ne lan und dann einmal anmelden fertig! ;)


thx!! slimie
 
@ Slimie: ARgh ich kriegs gleich mit den nerven - mein login ist viel besser, aber er setzt den keks net %) Da könnte ich schon wieder durchdrehen :>

Grüße, Thaalad
 
Zurück