# Login Daten per Cookie speichern und automatisch bei erneutem login aufüllen



## melistik (28. Januar 2005)

Hi,
Ich habe mir ein Login Script gebastelt, das klappt auch alles supi
das mit dem Login automatisch ausfüllen auch, doch wenn ich den Cookie erneut speichern möchte,
sprich zb ein anderer sich einloggen möchte, so müsste der Cookie gespeichert werden,
doch überschreiben geht ja leider nicht .... 
Ich weiß, das ich normalerweise den Cookie per - Laufzeit löschen sollte aber ganz am Anfang,
doch das ist in meinem Login so nicht möglich, da sonst die Daten nicht automatisch ausgegeben werden könnten. 
Bitte schaut euch den Code des Login mal bitte an ...
Ich weiß nicht genau wie ich das löschen kann, das wenn jemand sich mit anderm Login Daten als die im Cookie stehen einloggen möchte, diesen dann überschreibt !

// Das eigentliche Login

```
<?
session_start();
include 'sessionhelpers.inc.php';
include 'head.php';

if (isset($_POST['login']))
{
    $userid=check_user($_POST['username'], $_POST['userpass']);
    if ($userid!=false) {
        login($userid);}
    else {
        echo "<center>Ihre Anmeldedaten waren nicht korrekt!</center><br>";}
		
}
if (!logged_in()) {
//Cookie login
if (isset($_COOKIE['ogame_manager_login'])) { 
list($usernamecookie, $userpasscookie) = explode(":::", $_COOKIE["ogame_manager_login"]); 
}
    echo "<table border='0' align='center'><tr><td><form method='post' action='$PHP_SELF'>
        Benutzername:<br><input name='username' type='text' value='".$usernamecookie."'><br>
        Passwort:<br><input name='userpass' type='password' value='".$userpasscookie."'><br>
		<input type='checkbox' name='cookies' checked> Cookies<br><br>
        <input name='login' type='submit' id='login' value='Einloggen'></form></td></tr></table>";
}else{

if (($_POST['cookies'] == 'on') AND ($usernamecookie!=$_POST['username'])) { 
setcookie ("ogame_manager_login", $cdata, (time()-3600*24*40)); // hier wird rumegmeckert, da schon angeblich daten an Brower gesendet wurden
// wie kann ich das anders Lösen
$data["username"] = $_POST['username'];
$data["userpass"] = $_POST['userpass'];
$cdata = $data["username"] . ":::" . $data["userpass"]; 
setcookie ("ogame_manager_login", $cdata, (time()+3600*24*30));
echo "<center><b>cookie setted</b><br></center>";}

    echo "<center>Erfolgreich eingelogged</center><br><br>";
	echo "<META HTTP-EQUIV=\"Refresh\" CONTENT=\"2; URL=portal.php\">";
	}
?>
```
// Die Funktion, sollte aber eigentlich nicht relevant sein

```
function check_user($name, $pass)
{
    $sql="SELECT UserId
    FROM users
    WHERE UserName='".$name."' AND UserPass=MD5('".$pass."') 
    LIMIT 1";
    $result= mysql_query($sql) or die(mysql_error());
    if ( mysql_num_rows($result)==1)
    {
        $user=mysql_fetch_assoc($result);
        return $user['UserId'];
    }
    else
        return false;
}
```
ein beispiel, wie es gehen sollte ist http://www.wc3online.de
Ich wäre für jeden Ratschlag diesbezüglich dankbar !


----------



## Hawkster (29. Januar 2005)

Du solltest die bei solchen scripten immer bewusst sein:

Um so bequemer du es dem user machst, umso unsicherer ist dein System.
Hilfe zu cookies bekommst du hier: http://tut.php-q.net/cookies.html

MFG Hawkster


----------

