Login Sytem Problem

Bloodlord

Mitglied
Hallo,
hab folgende Fehlermeldung:
Code:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /var/www/virtual/clanhoster.net/htdocs/clanhosterweb/php/login.php on line 20

Warning: Cannot modify header information - headers already sent by (output started at /var/www/virtual/clanhoster.net/htdocs/clanhosterweb/php/login.php:20) in /var/www/virtual/clanhoster.net/htdocs/clanhosterweb/php/login.php on line 45

mit diesem Code:

Code:
<?php 
// Session starten 
session_start (); 

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

$sql = "SELECT ". 
    "Id, Nickname, Nachname, Vorname, status, email, port, ip, slots, game, betrag, icq ". 
  "FROM ". 
    "benutzerdaten ". 
  "WHERE ". 
    "(Nickname like '".$_REQUEST["name"]."') AND ". 
    "(Kennwort = '".md5 ($_REQUEST["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_nachname"] = $data["Nachname"]; 
  $_SESSION["user_email"] = $data["email"]; 
  $_SESSION["user_vorname"] = $data["Vorname"]; 
  $_SESSION["user_status"] = $data["status"]; 
  $_SESSION["user_ip"] = $data["ip"]; 
  $_SESSION["user_port"] = $data["port"]; 
  $_SESSION["user_game"] = $data["game"]; 
  $_SESSION["user_betrag"] = $data["betrag"]; 
  $_SESSION["user_icq"] = $data["icq"]; 
  $_SESSION["user_slots"] = $data["slots"];
  $_SESSION["user_kdnr"] = $data["kdnr"];
  $loggedin = "login"; 
  

  header ("Location: ../index.php?section=intern"); 
} 
else 
{ 
  header ("Location: ../index.php?section=fehler1"); 
} 
?>

Ich sehe leider nicht ganz das Problem, das Script hat vor dem Serverwechsel einwandfrei funktioniet!
 
Fehlermeldung eins besagt, dass der der mysql_num_rows()-Funktion übergebene Parameter keine gültige MySQL-Ergebnisressource ist. Dies kann unter anderem daran liegen, dass die Abfrage fehlschlug.
Die Fehlermeldung zwei ist nur aufgrund der ersten Fehlermeldung erzeugt worden.

Hier mein Vorschlag:
PHP:
<?php

	// Session starten
	session_start();

	// Datenbankverbindung aufbauen
	$connectionid = mysql_connect('localhost', 'xxxxxx', 'xxxxxxx');
	mysql_select_db('xxxxxxx', $connectionid)
		or die('Keine Verbindung zum Datenbank-Server möglich');

	$query = "
		SELECT
		        `Id`       AS `user_id`,
		        `Nickname` AS `user_nickname`,
		        `Nachname` AS `user_nachname`,
		        `Vorname`  AS `user_vorname`,
		        `status`   AS `user_status`,
		        `email`    AS `user_email`,
		        `port`     AS `user_port`,
		        `ip`       AS `user_ip`,
		        `slots`    AS `user_slots`,
		        `game`     AS `user_game`,
		        `betrag`   AS `user_betrag`,
		        `icq`      AS `user_iqp`,
		        `kdnr`     AS `user_kdnr`
		  FROM
		        `benutzerdaten`
		  WHERE
		        `Nickname` LIKE '".mysql_real_escape_string($_REQUEST['name'])."'
		    AND `Kennwort` =    '".md5($_REQUEST['pwd'])."'
		";
	$result = mysql_query($query)
		or die(mysql_error());

	if( is_resource($result) && mysql_num_rows($result) > 0 ) {

		// Benutzerdaten in ein Array auslesen.
		$data = mysql_fetch_array($result);
		// Sessionvariablen erstellen und registrieren
		foreach( $data as $key => $value ) {
			$_SESSION[$key] = $value;
		}
		$loggedin = 'login';
		header('Location: ../index.php?section=intern');

	} else {

		header('Location: ../index.php?section=fehler1');

	}

?>
 
hab das mal an meine bedürnisse angepasst allerdings hab ich noch ein Problem in den Session-Variablen ist kein Inhalt drin.

Code:
<?php

    // Session starten
    session_start();

    // Datenbankverbindung aufbauen
    $connectionid = mysql_connect('localhost', 'xxxxxx', 'xxxxx');
    mysql_select_db('xxxxxx', $connectionid)
        or die('Keine Verbindung zum Datenbank-Server möglich');

    $query = "
        SELECT
                `Id`       AS `user_id`,
                `Nickname` AS `user_nickname`,
                `Nachname` AS `user_nachname`,
                `Vorname`  AS `user_vorname`,
                `status`   AS `user_status`,
                `email`    AS `user_email`,
                `port`     AS `user_port`,
                `ip`       AS `user_ip`,
                `slots`    AS `user_slots`,
                `game`     AS `user_game`,
                `betrag`   AS `user_betrag`,
                `icq`      AS `user_iqp`,
                `kdnr`     AS `user_kdnr`
          FROM
                `benutzerdaten`
          WHERE
                `Nickname` LIKE '".mysql_real_escape_string($_REQUEST['name'])."'
            AND `Kennwort` =    '".md5($_REQUEST['pwd'])."'
        ";
    $result = mysql_query($query)
        or die(mysql_error());

 if (mysql_num_rows ($result) > 0)
{ 

        // Benutzerdaten in ein Array auslesen.
        $data = mysql_fetch_array ($result);

        $_SESSION["user_id"] = $data["Id"]; 
  	$_SESSION["user_nickname"] = $data["Nickname"]; 
  	$_SESSION["user_nachname"] = $data["Nachname"]; 
  	$_SESSION["user_email"] = $data["email"]; 
  	$_SESSION["user_vorname"] = $data["Vorname"]; 
  	$_SESSION["user_status"] = $data["status"]; 
  	$_SESSION["user_ip"] = $data["ip"]; 
  	$_SESSION["user_port"] = $data["port"]; 
  	$_SESSION["user_game"] = $data["game"]; 
  	$_SESSION["user_betrag"] = $data["betrag"]; 
  	$_SESSION["user_icq"] = $data["icq"]; 
  	$_SESSION["user_slots"] = $data["slots"];
  	$_SESSION["user_kdnr"] = $data["kdnr"];
  	$loggedin = "login"; 
        header('Location: ../index.php?section=intern');

    } else {

        header('Location: ../index.php?section=fehler1');

    }

?>
 

Neue Beiträge

Zurück