Header im Login-System funktioniert nicht

chazer

Grünschnabel
Hallo zusammen,
Ich habe in Anlehnung an das Tutorial hier ein Login-System gebaut. Wenn ich es ausführe passiert blos garnichts. Ich hab schon mit echo ausprobiert ob es überhaupt ausgeführt wird und das wird es auch blos die Weiterleitung via Header funktioniert nicht, ich bekomme also eine weiße Seite als Ausgabe.
Hier mein Quellcode der Login.php:
PHP:
<?php 
session_start ();

include('Datenbank.php');

$email=$_REQUEST['email'];
$pwd=$_REQUEST['pwd'];

$sql = "SELECT id, email, prename, name FROM customer WHERE email = '$email' AND password = '$pwd'"; 

$result = mysql_query ($sql); 

if(!$result)
	echo mysql_error();
	
if (mysql_num_rows ($result) > 0) 
{ 
	$data = mysql_fetch_array($result);
	
  		$_SESSION["user_id"] = $data[0];  
  		$_SESSION["user_email"] = $data[1]; 
  		$_SESSION["user_prename"] = $data[2]; 
  		$_SESSION["user_name"] = $data[3]; 

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

Hoffe Mir kann jemand helfen.
 
Jop ist ne komplette Seite und auch wenn ichs mit der Weiterleitung auf z.B. google versuche passiert nichts.
 
http://www.tutorials.de/content/1006-sicherheit-php-codes-schaffen.html
Gibt es irgendwelche Fehlermeldungen?
Füge mal dies als erste Zeile ein:
PHP:
error_reporting(E_ALL);

Ansonsten ist mir aufgefallen, dass du theoretisch mit [phpf]mysql_num_rows[/phpf] die Zeilenanzahl prüfst, obwohl das Ergebnis ungültig ist.

Außerdem verwendest du einfach die übertragenen Variablen im MySQL-Query! Das ist sehr gefährlich! Schon jetzt kann man sich ohne jeglichen Account einloggen!
Dazu habe ich ein Tutorial geschrieben, das beschreibt wie man diese Gefahr umgeht: Sicherheit in PHP-Codes schaffen (Punkt 3)
 
Also das mit Ergebnis ungültig ist nur eine Abfrage nach der er einen mysql_error ausgeben soll, hat also nichts mit dem num_rows zu tun und wenn ich error_reporting(E_ALL); einfüge bekomme ich folgende Ausgabe:
Code:
Notice: Undefined index: email in C:\Users\...\Documents\My Web Sites\Seite\login.php on line 7

Notice: Undefined index: pwd in C:\Users\...\Documents\My Web Sites\Seite\login.php on line 8

Warning: Cannot modify header information - headers already sent by (output started at C:\Users\...\Documents\My Web Sites\Seite\login.php:7) in C:\Users\...\Documents\My Web Sites\Seite\login.php on line 36
 
Ich meinte, dass mysql_num_rows() trotz eines Fehlers ausgeführt werden könnte.
Naja die Fehler besagen, dass es die Schlüssel "email" und "pwd" im Array $_REQUEST nicht gibt.

Füge mal ein print_r($_REQUEST); am Anfang ein.
 
Zuletzt bearbeitet:
Ok hat sich erledigt, lag wirklich an meinem PC. Hab das ganze mal auf einem Webserver probiert und dort gehts. Trozdem danke für die Bemühungen.
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück