Probleme mit Loginsystem

  • Themenstarter Themenstarter ByeBye 152404
  • Beginndatum Beginndatum
B

ByeBye 152404

Hallo,
ich habe leider ein Problem mit meinem Loginsystem, immer wen ich versuche mich einzuloggen zeit er mir an das meine Eingaben ungültig waren.

login.php
PHP:
<?php session_start (); ?>
<html> 
<head> 
  <title>Login</title> 
</head> 

<body> 
<?php 
if (isset ($_REQUEST["fehler"])) 
{ 
  echo "Die Zugangsdaten waren ungültig."; 
} 
?> 
<form action="login_send.php" method="post"> 
  Name: <input type="text" name="login_name" size="20"><br> 
  Kennwort: <input type="password" name="login_password" size="20"><br> 
  <input type="submit" value="Login"> 
</form> 
</body> 
</html>

login_send.php
PHP:
<?php
/* Session Start oder Wiederaufname */
session_start();

/*  Include der Config Datei */
include("inc/config.inc.php");

   $link = mysql_connect("$db_server", "$db_account", "$db_password");
   if (!mysql_select_db ("lan", $link)) 
    { 
     die ("Keine Verbindung zur Datenbank"); 
    } 

   $sql = "SELECT ". 
          "id, Nickname, Rang ". 
          "FROM ". 
          "user ". 
          "WHERE ". 
          "(Nickname like '".$_POST["login_name"]."') AND ". 
          "(PW = '".md5 ($_POST["login_password"])."')"; 
   $result = mysql_query ($sql); 

    if (mysql_num_rows ($result) > 0) 
     { 
      // Benutzerdaten in ein Array auslesen. 
      $data = mysql_fetch_array ($result); 

      // Sessionvariablen erstellen und registrieren 
      $_SESSION["user_id"] = $data["id"]; 
      $_SESSION["user_nickname"] = $data["Nickname"];
      $_SESSION["user_rang"] = $data["Rang"];
   
    header ("Location: overview_user.php"); 
   } 
    else 
   { 
    header ("Location: login.php?fehler=1");
   }
?>

contoler.php
PHP:
<?php 
session_start (); 
if (!isset ($_SESSION["user_id"])) 
{ 
  header ("Location: login.php"); 
} 
?>

Danke für eure Hilfe

K4ZUY4

PS: Wie man sieht habe ich mir das Tutorial dazu schon angesehen da es sehr stark daran anlehnt.
 
Lass dir mal "$sql" und "mysql_num_rows($result)" ausgeben. Stehen die Werte wie gewünscht drin?
 
Nein leider nicht, er gibt mir keine werte aus (auser den md5 Hash).
Aber nicht ID oder Nickname, woran kann das liegen?
 
Liegt es evtl. an der query?
Probiere einmal das hier:

PHP:
<?php

     $sql = 'SELECT
                        `id`, `Nickname`, `Rang` 
             FROM
                        `user`
             WHERE
                        `Nickname` = "'.mysql_real_escape_string($_POST["login_name"]).'"
             AND 
                        `PW` = "'.mysql_real_escape_string(md5 ($_POST["login_password"])).'"
            ';
?>
Hinweis zu mysql_real_escape_string()!
Mit mysql_real_escape_string() kann man einen String unescaped_string
für die sichere Benutzung in mysql_query maskieren.
 
Nein leider nicht, das einloggen ist leider nochimmer nicht möglich.
 
Steht überhaupt etwas in $_POST drin?

Poste mal von diesem Code die Ausgabe:
PHP:
print_r($_POST);

Und schreibe bei mysql_query() noch ein "or die(mysql_error());" dazu.
 
print ausgabe:
Code:
Array ( [login_name] => K4ZUY4 [login_password] => testpw )

Daten stimmen.

or die(mysql_error()) hab ich heute Mittag schon dazu geschrieben kamm nichts bei rum.
 
Zurück