Hallo Leute
ich habe ein "kleines Problem":
mit folgendem Code versuche ich herauszufinden, ob ein cookie gesetzt wurde oder nicht,
wenn benutzername und passwort übereinstimmen dann soll ein cookie gesetzt werden.
Wenn ich aber das Script ausführe, dann muss ich das Formular 2mal absenden, ehe der cookie erkannt wird...
kann mir da jemand sagen wieso dies so ist?
hoffe der Code erschlägt niemanden
viele grüsse
patrick
ich habe ein "kleines Problem":
mit folgendem Code versuche ich herauszufinden, ob ein cookie gesetzt wurde oder nicht,
wenn benutzername und passwort übereinstimmen dann soll ein cookie gesetzt werden.
Wenn ich aber das Script ausführe, dann muss ich das Formular 2mal absenden, ehe der cookie erkannt wird...
kann mir da jemand sagen wieso dies so ist?
PHP-Code:
<?
// Autologin vorerst auf false setzen
$autoLogin = false;
// Authentifizierung vorerst auf 0 setzen
$auth_ok = 0;
// Wenn Cookie gesetzt zum Verzeicnis auslesen
$showDirAllowed = $_COOKIE['isLoggedIn'];
// Wenn über das Formular gekommen
$action = $HTTP_POST_VARS['action'];
if ($action == 'login'){
$user = $HTTP_POST_VARS['usr'];
$pass = $HTTP_POST_VARS['psw'];
// wenn Auslesen erlaubt
//if($showDirAllowed!='true'){
// Daten aus der Datenbank auslesen
$result = mysql_query("SELECT * FROM login WHERE usr = '$user'");
if ($num = mysql_num_rows($result)) {
// Ausgabe der Datensätze, wenn vorhanden
for($i=0;$i < $num; $i++) {
$pass_db = mysql_result($result,$i,"psw");
$dir = mysql_result($result,$i,"dir");
$user_db = $user;
}
}
if(isset($user) && isset($pass) && $user == $user_db && $pass == $pass_db){
setcookie("isLoggedIn", "true");
//getDir($dir)
}
//}
}else{
// Wenn über Autologin
$userAutoLogin = $_COOKIE["autoLogin"];
// Wenn Cookie gesetzt wurde --> nicht leer
if ($userAutoLogin != ""){
// User aus Cookie Lesen
$user = $userAutoLogin;
if($showDirAllowed!='true'){
$result = mysql_query("SELECT * FROM login WHERE usr = '$user'");
if ($num = mysql_num_rows($result)) {
// Ausgabe der Datensätze, wenn vorhanden
for($i=0;$i < $num; $i++) {
// Verzeichnis ermitteln des AutoLogin Users
$dir = mysql_result($result,$i,"dir");
}
}
}
setcookie("isLoggedIn", "true");
}
}
$showDirAllowed = $_COOKIE['isLoggedIn'];
// Erlaubnis alles zu zeigen-- für tiefere Verzeichnisse Wichtig
if($showDirAllowed=="true"){
echo "Verzeichnis wird ausgelesen";
echo "<br>";
echo "darf alles gezeigt werden: ".$showDirAllowed;
echo "<br>";
echo "Verzeichnis welches ausgelesen werden soll: ".$dir;
getDir($dir);
}
else{
echo "cookie gesetzt".$showDirAllowed;
?>
<table border="0" width="95%">
<tr>
<td width="100%"> <p class="text" align="justify">
<img border="0" src="images/space.gif" width="14" height="7"><br>
<form name="form1" method="post" action="<? echo $PHP_SELF;?>" class="text">Log-In für unsere Kunden:<br>
<img border="0" src="images/space.gif" width="14" height="7"><br>
<br>
<table width="75%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="text" >User-ID:</td>
<td><input name="usr" type="text" id="usr" value="benutzername" class="form"></td>
</tr>
<tr>
<td class="text" >Passwort:</td>
<td><input name="psw" type="password" id="psw" value="passwort" class="form">
<input name="id" type="hidden" id="id" value="<?php echo $id;?>">
<input name="action" type="hidden" id="action" value="login"></td>
</tr>
<tr>
<td class="text" > </td>
<td class="text"><input name="setCookie" type="checkbox" id="setCookie" value="true">
automatisch eingeloggt bleiben</td>
</tr>
<tr>
<td class="text" > </td>
<td><input name="loginField" type="image" id="loginField" src="o.gif" alt="login" width="16" height="16" border="0"></td>
</tr>
</table>
</form></td>
</tr>
</table>
<?
}
/*
echo $htmlFooter;
exit();
}*/
// ende Login
?>
viele grüsse
patrick
Kommentar