Problem mit Session-Management

Moritz123

Erfahrenes Mitglied
Hallo!

ich schreibe grade an einem Kundenbackroom und komme beim Login nicht weiter.

Obwohl ich die richtigen Daten eingebe, kann ich mich nicht einloggen.

Ich habe schon alles durchprobiert aber nichts klappt und nun hoffe ich, dass ihr mir weiterhelfen könnt.

Hier mal etwas Code:
Crypt.do - Zuständig für das Holen der Daten aus der DB und fürs Vergleichen Eingabe<->DB
PHP:
<?php
include("_includes/dbconnect.php");
// USERDATEN AUS DB HOLEN
$uabfrage = "SELECT id,username,pass,vorname,name FROM stammdaten WHERE username = '$_POST[username]' AND pass = '$_POST[pass]'";
$uausgabe = mysql_query($uabfrage);
$unum = mysql_numrows($uausgabe);
		if ($unum > 0) {while ($row = mysql_fetch_object($uausgabe)){
		$a_db = $row->username;
		$b_db = $row->pass;
		$vorname = $row->vorname;
		$name = $row->name;
		$id = $row->id;
		}}
		else	// SOLLTEN KEINE DATEN DA SEIN, IST USER UNBEKANNT
		{
			$keinedaten = 1;
		}
if($keinedaten != "1"){
	$_SESSION["user_id"] = $id; 
  	$_SESSION["user_bname"] = $a_db; 
  	$_SESSION["user_nachname"] = $name; 
  	$_SESSION["user_vorname"] = $vorname;
	$_SESSION["user_pass"] = $b_db;
	header ("Location: framework.do");
	}
else { header("Location: start.do-1"); }
?>

das lief ohne Probleme, bis folgenden Code in die framework.do eingefügt habe:
PHP:
<?php
ob_start(); 
session_start(); 
if (!isset ($_SESSION["user_id"])) 
{ 
  header ("Location: start.do-1"); 
} 
//ob_end_flush(); 
?>
ich denke mal, dass hier irgendwo der Fehler sein muss.

Könnte es mit mod_rewrite zusammenhängen? Damit habe ich die dateien etwas geändert.

Vielen Dank!
 
1. einrücken
2. " " verwendet man nur, wenn der inhalt geparst werden soll, also nach variablen etc. gesucht werden soll. Ansonsten immer ' '
3. Grenze deinen Fehler ein indem du mit echo etc. überprüfst bis wann alles gut läuft.
 
ok, hab jetzt nochmal nachgeschaut - offnbar wird überhaupt keine Session registriert. Zum mindest ist die Variable leer..
Habe den Fehler daraufhin gefunden - in der crypt.do hat ein session_start() gefehlt.

Trotzdem danke!
 
Zurück