header

therealcharlie

Erfahrenes Mitglied
also wenn ich den header nur einmal senden kann, ist doch folgendes script fehlerhaft, oder?
PHP:
session_start (); 	
if (!isset ($_SESSION["user_nickname"])) 	
{ 	
  header ("Location: formular.php"); 	
}
 
im skript folgendes hinzufügen:

ganz am anfang:
<?php
ob_start();


ganz ans ende:

ob_end_flush();
?>
 
ähm, tja und was bewirkt das
das ganze ist ja auch noch in einer index.php included, die ein session_start(); am beginn hat.

ich poste hier mal das gesamte login_script, dass per include in eine index.php eingebunden, ist die eine session startet und zur db verbindet:
PHP:
<?php 	
// Es werden alle Daten des Users aus der Tabelle ausgewählt, voher wird der Benutzername und das Passwort noch überprüft 	
$abfrage = "SELECT Nickname, Rang, Vorname, Zuname FROM passion_members WHERE (Nickname like '".$_REQUEST["name"]."') AND (Passwort = '".$_REQUEST["pwd"]."') LIMIT 1"; 	
$ergebnis = mysql_query ($abfrage); 	
// Wenn das einloggen erfolgreich war, werden die Sessionvariablen erstellt 	
if (mysql_num_rows ($ergebnis) > 0) 	
{ 	
  $row = mysql_fetch_array ($ergebnis);   	
  $_SESSION["user_rang"] = $row["Rang"]; 	
  $_SESSION["user_nickname"] = $row["Nickname"]; 	
  $_SESSION["user_zuname"] = $row["Zuname"]; 	
  $_SESSION["user_vorname"] = $row["Vorname"]; 	
  $_SESSION["user_admin"] = $row["Admin"]; 	
  // Anschliessend wird zur Internen Seite weitergeleitet 	
  header ("Location: index.php?do=start"); 	
} 	
else 	
{ 	
  // Sollte das einloggen nicht erfolgreich gewesen sein, wird wieder auf das Formular zum einloggen weitergeleitet. 	
  header ("Location: index.php?do=login"); 	
} 	
?>

ich bekomme dabei 2 fehlermeldungen:

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /srv/www/htdocs/web4/html/fastdesign/passion/admin/login_script.php on line 6

Warning: Cannot modify header information - headers already sent by (output started at /srv/www/htdocs/web4/html/fastdesign/passion/admin/index.php:12) in /srv/www/htdocs/web4/html/fastdesign/passion/admin/login_script.php on line 20

hoffe ihr könnt mir helfen, ich sollte das in der nächsten stunde gelöst haben, sonst kann ich nicht weitermachen....
danke schonmal.
 
Dann musst du meinen Code oben in die Index.php schreiben, in der dein Login Skript includet wird

was es bewirkt: Dein Skript wird nicht sofort ausgegeben sondern ersteinmal gepuffert. Erst mit dem Befehl ob_end_flush() wird das Ergebnis aus dem Puffer ausgegeben und an den Browser geschickt. So kannst du mitten im Skript Header Informationen hinzufügen, was sonst nur ganz am Anfang möglcih wäre
 
Zuletzt bearbeitet:
Zurück