[PHP/MySQL] Login-System mit Sessions // warum geht es nicht?!

komori

Grünschnabel
bitte helft mir! seit nem monat tu ich mit dem käse rum, habs chon mehrmals neu angefangen. solange ich es unbearbeitet lasse (nur kleine veränderungen) geht es, aber sobald ich sowas wie "nummer" oder "motto" hinzufüge streikt des ding.

es geht um dieses tut: tutorial

ich bin mir zu 90% sicher, dass es an meiner login.php datei liegt.

PHP:
<?php 

$localhost="***";
$root="***";
$pwd="***";
$LoginSystem="***";

// Session starten 
session_start (); 

// Datenbankverbindung aufbauen 
$connectionid = mysql_connect ($localhost, $root, $pwd);
if (!mysql_select_db ($LoginSystem, $connectionid)) 
{ 
  die ("Keine Verbindung zur Datenbank"); 
} 

$sql = "SELECT ". 
    "Id, Nickname, eMail, Vorname, Homepage, ICQ, Land, Geburtstag, BattlefieldNick, Motto, Spiele, Hobbies ". 
  "FROM ". 
    "benutzerdaten ". 
  "WHERE ". 
    "(Nickname like '".$_GET["nick"]."') AND ". 
    "(Kennwort = '".md5 ($_GET["pwd"])."')"; 
$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_mail"] = $data["eMail"]; 
  $_SESSION["user_vorname"] = $data["Vorname"]; 
  $_SESSION["user_homepage"] = $data["Homepage"];
  $_SESSION["user_icq"] = $data["ICQ"];
  $_SESSION["user_land"] = $data["Land"];
  $_SESSION["user_geburtstag"] = $data["Geburtstag"];
  $_SESSION["user_bfvnick"] = $data["BattlefieldNick"];
  $_SESSION["user_motto"] = $data["Motto"];
  $_SESSION["user_spiele"] = $data["Spiele"];
  $_SESSION["user_hobbies"] = $data["Hobbies"];

  header ("Location: intern.php"); 
} 
else 
{ 
  header ("Location: formular.php?fehler=1"); 
} 
?>

der fehler muss irgendwo da liegen (wahrscheinlich ab "$sql = "SELECT ". " bis "$result = mysql_query ($sql); "; irgendwo hier),
den man kann sich nie einloggen und man wird immer zu formular.php weitergeleitet, wo die fehlermeldung kommt. also, wie gesagt, den fehler krieg ich erst seit ich mit email, homepage, icq, geburtstag usw. erweitert habe, vorher gings. aber ich kann mir einfach nicht vorstellen, was da falsch sein soll!
bitte sagt mir einfach alles, was falsch sein könnte, ich werde dann alles durchgehen. danke im voraus
 
Bist Du Dir sicher, dass das Formular wirklich die Daten per GET an das Script schickt und nicht per Post?

Versuchs mal so:

PHP:
$sql =  'SELECT 
            Id, 
            Nickname, 
            eMail, 
            Vorname, 
            Homepage, 
            ICQ, 
            Land, 
            Geburtstag, 
            BattlefieldNick, 
            Motto, 
            Spiele, 
            Hobbies 
        FROM 
            benutzerdaten 
        WHERE 
            (Nickname like "'.mysql_escape_string($_POST['nick']).'") 
        AND 
            (Kennwort = "'.mysql_escape_string(md5($_POST['pwd'])).'")';
Auf jedenfall solltest Du Dir die entsprechende Query mal ausgeben lassen, damit Du siehst, ob und welche Werte überhaupt übergeben werden.
 
ah hab den fehler gefunden. aber das is jetzt soo peinlich, dass ich lieber net sage, wo der fehler war :B
aber ich danke trotzdem :)
 
Zuletzt bearbeitet:
Zurück