Login System Problem
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
action
ausgabe
beginnen
beitrag
bescheid
eingabe
eingeben
error
exit
farbe
fehler
irgend
login
mache
nes
pa
pawort
result
schauen
username
-
Hallo,
Ich bekomme es irgend wie nich hin ein sauberes Login zu erstellen, wenn ich es ?ffne und einen fahlschen user eingaben hab ich eine Ausgabe mache ich jedoch eine Richtige und ein fahlsches Passwort als Eingabe bin ich Eingeloggt, als zweites hab ich nen Problem bei !$_SESSION['login']=='true' so weit passiert auch was nur wenn es true ist geht er nich weiter und sagt mir ggf eingeloggt.
so z.b.
if(!$_SESSION['login']=='true'){
echo"<form><input></form>";
}else{
echo"eingeloggt";
}
p.s. Ich hoffe ihr k?nnt mir helfen, pls.
MFG XXALFA
include("./my_style/mysql.inc.php"); // Functionen in mysql.inc // Bsp: error("Farbe","Nachricht" ,"Urlname","Url"); // Bsp: $db->sql_qry("SQL Code"); // Bsp: $db->sql_num("Tablenname","*","Where"); // LOGIN ///////////// function login(){ // beginn global $db; if(!$_SESSION['login']=='true'){ echo" <form action='?m=1' method='post'> <table cellpadding='0' cellspacing='0'> <tr> <td colspan='2'>Login</td> </tr> <tr> <td>Name:</td> <td><input type='text' name='username'></td> </tr> <tr> <td>Pass:</td> <td><input type='password' name='userpass'></td> </tr> <tr> <td>?</td> <td><input type='submit' name='login_check' value='Login'></td> </tr> </table> </form>"; } if($_SESSION['login']=='true'){ echo"eingeloggt"; } if($_COOKIE['login']){ $cookie= split("##", $_COOKIE['login']); $_SESSION['name'] = $cookie[1]; $_SESSION['pass'] = $cookie[2]; $_SESSION['login'] = $cookie[3]; } if($_POST['login_check']){ if($_POST['username'] == ''){ echo"Error Name Leer"; }elseif($_POST['userpass'] == ''){ echo"Error Pass Leer"; }else{ $result = $db->sql_qry("SELECT * FROM user WHERE name LIKE '".$_POST['username']."'"); $userdaten = mysql_fetch_array($result); if( !$userdaten['pass'] != $_POST['userpass'] ){ // md5() echo"Error Pass nicht gleich"; }else{ $_SESSION['name'] = $userdaten['name']; $_SESSION['pass'] = $userdaten['pass']; $_SESSION['login'] = 'true'; $incookie="##".$userdaten['name']."##".$userdaten['pass']."##true"; setcookie("login", $incookie, time()+60*60*24*365); echo"erfolgreich eingeloggt <a href='?m=2'>weiter</a>"; } } } // end } login();
Beitrag geändert: 13.8.2007 22:06:54 von xxalfa -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Hi,
Ich hatte keine Lust die Fehler zu suchen, also habe ich es ganz abge?ndert.
Probier es mal aus, es sollte so funktionieren.
Wenn nicht, dann kannst du mir ja bescheid sagen und ich schau was falsch ist.
Ich glaube jedch, dass du einfach session_start() vergessen hast.
Der Code:
include("./my_style/mysql.inc.php"); session_start(); function check_login($username,$password) { global $db; $result = $db->sql_qry("SELECT * FROM user WHERE name LIKE '$username'"); $userdaten = mysql_fetch_array($result); if ($userdaten['pass'] == md5($_POST['password'])) return true; return false; } if (isset($_COOKIE['login']) && isset($_SESSION['username']) && isset($_SESSION['password'])) { $data = unserialize($_COOKIE['login']); if (check_login($data['username'],$data['password']) && check_login($_SESSION['username'],$_SESSION['password'])) { header("Location: " . basename($_SERVER['PHP_SELF']) . "?m=2"); exit(); } } if (isset($_POST['action']) && $_POST['action'] == "login") { if (in_array("",array($_POST['username'],$_POST['password'])) { echo "<b>Error:</b><br />\nEs wurden nicht alle Felder aufgefüllt."; } else { if (check_login($_SESSION['username'],$_SESSION['password'])) { $_SESSION['username'] = $_POST['username']; $_SESSION['password'] = $_POST['password']; $cookie_data = array( 'username' => $_POST['username'], 'password' => $_POST['password'] ); setcookie("login",serialize($cookie_data),time()+60*60*24*365); echo "erfolgreich eingeloggt <a href='" . $_SERVER['PHP_SELF'] . "?m=2'>weiter</a>"; } else { echo "<b>Error:</b><br />\nPassword ungülltig."; } } } else { ?> <form action="<?php echo $_SERVER['PHP_SELF'] ?>?m=1" method="post"> <input type="hidden" name="action" value="login" /> <table cellpadding="0" cellspacing="0"> <tr><td colspan="2">Login</td></tr> <tr> <td>Name:</td> <td><input type="text" name="username"></td> </tr><tr> <td>Pass:</td> <td><input type="password" name="password"></td> </tr><tr> <td> </td> <td><input type="submit" value="Login"></td> </tr> </table> </form> <?php }
mfg,
hr -
darf ich anmerken, dass man anstatt
<?php echo $_SERVER['PHP_SELF'] ?>
auch, k?rzer
<?=$_SERVER['PHP_SELF'] ?>
schreiben kann?
-
kein problem, aber cool ich werds mir mal anschau und danke mit dem echo hab ich noch gar nich gewusst^^
MFG XXALFA -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage