Problem mit session, cookie login

kcyberbob

Erfahrenes Mitglied
Hallo zusammen,

ich weiß es ist Freitag und schweine heiß doch ich bräuchte mal kurz eure Hilfe.

Ich habe ein kleines login Script das wie folgt aussieht:
PHP:
<?
	if(!isset($action)) {
?>
<b><br> 
Login
</b><br>
<hr align="left" width="450" size="1" noshade>
<form name="login" method="post" action="index.php?location=login&action=login">
  <table width="100%"  border="0" cellspacing="0" cellpadding="3">
    <tr>
      <td width="20%">&nbsp;</td>
      <td width="80%">&nbsp;</td>
    </tr>
    <tr>
      <td><strong>Username:</strong></td>
      <td><input type="text" name="username" class="input"></td>
    </tr>
    <tr>
      <td><strong>Passwort:</strong></td>
      <td><input type="password" name="passwort" class="input"></td>
    </tr>
    <tr>
      <td>&nbsp;</td>
      <td><input type="submit" name="Submit" value="Login" class="input"></td>
    </tr>
    <tr>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
    </tr>
  </table>
</form>
<br>
<? 
}
/* Logincheck */
if ($action == 'login')
       {
            $result = mysql_query("SELECT * FROM handball_accounts WHERE username='$username' && passwort='$passwort'");
	        	  if(mysql_num_rows($result) != 0 ) {
                       $row = mysql_fetch_object($result);
					   
                          $datenrichtig = true;
			              $cookie_username = $username;
						  $cookie_passwort = $passwort;
						  $cookie_status = $row->status;
                          $last_besuch = time();
                          $user_eingeloggt = true;
                    } 
                    else 
                    {
                        $datenrichtig = false;
                          $user_eingeloggt = false;
                    }
                if ($datenrichtig)
                    {
                        session_register ("user_eingeloggt","cookie_username","cookie_status");
                        setcookie("user_eingeloggt", "true", time()+(3600*24*20));
                        setcookie("cookie_status", "$cookie_status", time()+(3600*24*20));
                        setcookie("cookie_username", "$cookie_username", time()+(3600*24*20));
                        setcookie("cookie_passwort", "$cookie_passwort", time()+(3600*24*20));
						jumpto("admin.php");
                    } 
                    else 
                       {
						jumpto("index.php");
                    }
        }
		
if ($action == 'logout')
       {
        session_destroy;
		setcookie("user_eingeloggt", "", time()+(3600*24*20));
        setcookie("cookie_status", "", time()+(3600*24*20));
        setcookie("cookie_username", "", time()+(3600*24*20));
        setcookie("cookie_passwort", "", time()+(3600*24*20));
						jumpto("index.php");
		}

 		
?>

Das ganze funktioniert und XAMPP von apachefriends.org
Jetzt habe ich alles auf das Webspace geladen und der login geht nicht mehr.
Er setzt keine Cookies soweit ich das sagen kann.
An was kann das denn liegen?

Gruß Andy


PS: Schon mal danke fürs helfen!
 
:offtopic:
Wieso benutzt du eigentlich type="password" bei
<td><input type="password" name="passwort" class="input"></td>
wenn du eh das Passwort im Klartext im Cookie speicherst?! :D
 
Probier mal Folgendes:
PHP:
<?php

	if( $_REQUEST['action'] == 'login' ) {

		$datenrichtig = false;

		$query = "
			SELECT
			        `status`
			  FROM
			        `handball_accounts`
			  WHERE
			        `username` = '".mysql_real_escape_string($_POST['username'])."'
			    AND `passwort` = '".md5($_POST['passwort'])."'
			";
		$result = mysql_query($query);
		if( mysql_num_rows($result) != 0 ) {
			$row = mysql_fetch_array($result, MYSQL_ASSOC);
			$datenrichtig = true;
		}
		if( $datenrichtig === true ) {
			$_SESSION['user_eingeloggt'] = true;
			$_SESSION['cookie_username'] = $_POST['username'];
			$_SESSION['cookie_status'] = $row['status'];
			setcookie('user_eingeloggt', 'true', time()+(3600*24*20));
			setcookie('cookie_status', $row['status'], time()+(3600*24*20));
			setcookie('cookie_username', $_POST['username'], time()+(3600*24*20));
			setcookie('cookie_passwort', md5($_POST['passwort']), time()+(3600*24*20));
			jumpto('admin.php');
		} else {
			jumpto('index.php');
		}
	}

	if( $_REQUEST['action'] == 'logout' ) {
		session_destroy();
		setcookie('user_eingeloggt', '', time()-(3600*24*20));
		setcookie('cookie_status', '', time()-(3600*24*20));
		setcookie('cookie_username', '', time()-(3600*24*20));
		setcookie('cookie_passwort', '', time()-(3600*24*20));
		jumpto('index.php');
	}

?>
Passwörter solltest du übrigens niemals in Klartextform speichern.
 
Ich nehme an die Funktion jumpt() hast Du selbst geschrieben, aber den Code nicht gepostet?
Denn ich kenne diese Funktion nicht, und php.net offensichtlich auch nicht.
 

Neue Beiträge

Zurück