Problem mit Session -> login.php

Guten Tag,
Ich habe das Tutorial "Loginsystem mit Sessions" angeschaut und wollte das umsetzen.

Link zum Tutorial:
Das Tutorial


Ich bekomme bloß leider eine Fehlermeldung bei der Login .php

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in F:\xampp\htdocs\saurewelt\login.php on line 25

Warning: Cannot modify header information - headers already sent by (output started at F:\xampp\htdocs\saurewelt\login.php:25) in F:\xampp\htdocs\saurewelt\login.php on line 40

Meine Datenbank heißt saurewelt und die Tabelle für die Benutzerdaten heißt user .

Meine Tabelle besitzt 3 Felder: Id, Benutzername, Kennwort

Das Formular:
<form action="login.php" method="post">
Nickname: <input type="text" name="name" size="20">
Kennwort: <input type="password" name="pwd" size="20">
<br>
<input type="submit" value="Login">
</form>

Die Login.php

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

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

$sql = "SELECT ". 
    "Id, Benutzername". 
  "FROM ". 
    "user ". 
  "WHERE ". 
   "(Benutzername like '".$_REQUEST["name"]."') AND ". 
    "(Kennwort = '".($_REQUEST["pwd"])."')"; 

//$sql = "SELECT Id, Benutzername FROM user WHERE (Benutznername kuje 


$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_benutzername"] = $data["Benutzername"]; 


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


Ich hoffe, dass ihr mir helfen könnt. Ich bin schon völlig verzweifelt.
Der Code müsste eigentlich richtig sein... Ich weiß es nicht.
Mit freundlichen Grüßen _saurerregen_

:)
 
Zuletzt bearbeitet:
Also ich sehe da grad im Moment keinen Fehler, aber ich habe mal den Code ein bisschen überarbeitet wie es eigentlich funktionieren müsste.

PHP:
<?php 
	// Session starten
	session_start ();
	
	// Datenbankverbindung aufbauen 
	$connectionid = mysql_connect ("localhost", "root", ""); 
	if (!mysql_select_db ("saurewelt", $connectionid)) 
	{ 
	  die ("Keine Verbindung zur Datenbank"); 
	} 
	
	$sql = "
		SELECT
			Id,
			Benutzername
		FROM
			user
		WHERE
			Benutzername = '".$_REQUEST["name"]."' AND
			Kennwort = '".$_REQUEST["pwd"]."'";
	
	$submit = mysql_query ($sql) OR die(mysql_error()); 
	
		// Benutzerdaten in ein Array auslesen. 
	if ($data = mysql_fetch_array ($result))
	{ 
	  // Sessionvariablen erstellen und registrieren 
		$_SESSION["user_id"] = $data["Id"]; 
		$_SESSION["user_benutzername"] = $data["Benutzername"]; 
	
	  header ("Location: intern.php"); 
	}
	else 
	{ 
	  header ("Location: formular.php?fehler=1"); 
	}
?>

1. Ich habe den Query ein bisschen übersichtlicher gestaltet und ein bisschen abgeändert.
2. Ist es meiner Meinung nach unnötig zuerst mit mysql_num_rows zu überprüfen und danach in Array einzulesen. Die Funktion mysql_fetch_array gibt automatisch FALSE zurück wenn kein Datensatz vorliegt.
 
Also ich habe den Code ausprobiert und es kommt immernoch eine Fehlermeldung.

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in F:\xampp\htdocs\saurewelt\login.php on line 25

Warning: Cannot modify header information - headers already sent by (output started at F:\xampp\htdocs\saurewelt\login.php:25) in F:\xampp\htdocs\saurewelt\login.php on line 35

Könnte es eventuell an fehlerhaften Namen oder Ähnlichem liegen?
Ich habe bis jetzt aber nichts fehlerhaftes gefunden...

:(
 

Neue Beiträge

Zurück