Menu nach Login unverändert!

asolution

Mitglied
Hallo zusammen

Ich möchte nach dem Login wenn es erfolgreich ist andere Menupunkte einblenden aber das funktioniert nicht wieso auch immer!

Kann mir Anhand vom Code jemand weiterhelfen?

PHP:
	<?php
	session_start();
	if (isset ($_SESSION["user_id"])) 
	{?>
		<div id="header">
		<div id="login">
			<a href=profil.php>Profil</a>
    		<a href=logout.php>Logout</a>
    	</div>
		<div id="logo"><a href="default.php"></a></div>
		<div id="menu"></div>
		</div>
		<?php 
	}
	else
	{?>
		<div id="header">
		<div id="login">
		<form action="login.php" method="post">
		<table><tr>
		<td>Name: </td><td> <input type="text" name="name" size="10"></td>
		<td>Kennwort: </td><td><input type="password" name="pwd" size="10"></td>
		<td><input type="submit" value="Login"></td>
		<td><a href="javascript:ajaxpage('reg.php', 'mittemitte');loadobjs('check_formular.js');">Registrieren</a></td>
		</tr></table>
		</form></div>
		<div id="logo"><a href="default.php"><img id="logo" src="graphics/websitelogo.png" /></a></div>
	<?php
		include 'menu.php';
		echo '</div>';
 		echo $_SESSION["user_id"];
 	}
	?>



Login

PHP:
<?php 
// Session starten
session_start ();
include ("connect.php");  

$sql = "SELECT * ". 
  "FROM ". 
    "tblUser ". 
  "WHERE ". 
    "(Username = '".$_REQUEST["name"]."') AND ". 
    "(Password = '".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["UsrId"]; 
  $_SESSION["user_name"] = $data["Username"]; 
  
  echo '<meta http-equiv="refresh" content="0; URL=default.php">';
} 
else 
{ 
  echo '<meta http-equiv="refresh" content="0; URL=default.php">';
} 
?>



Logout

PHP:
<?php 
session_start (); 
$_SESSION = array();
session_unset (); 
session_destroy (); 

header ("Location: default.php"); 
?>
 
So auf dei Schnelle
PHP:
  echo '<meta http-equiv="refresh" content="0; URL=default.php">';
} 
else 
{ 
  echo '<meta http-equiv="refresh" content="0; URL=default.php">';
}
Du gehst beide male auf default.php
 
jaaa aber das Ding liegt nicht hier sondern im ersten Kasten die isset wird nicht gemacht oder überprüft... gestzt ist die Variable jaa?
 
Also ich habe bei mir die "login.php" so geändert das ich die Datenbank nicht brauche und übergebe einfach immer einen Wert an $_SESSION["user_id"] und bei mir klappt es dann auch.

Wird bei dir die Abfrage überhaupt richtig ausgeführt und liefert sie auch ein Ergebnis?

Was ich auch immer ein bisschen komisch finde, sind Feld-/Variablennamen die "name" heißen. Keine Ahnung ob es Probleme macht aber ich nehme diese Bezeichnung nicht.

Vergebe doch mal in der "login.php" einen festen Wert für die $_SESSION["user_id"] und schau was dann passiert.
 
Irgendwo bei der Übergabe muss etwas nicht stimmen... da im login.php alles funktioniert! die Daten sind abgefüllt!!
 
Zuletzt bearbeitet:
Du hast hier vor dem obigen "<?php" eine Leerzeile, wenn die in der Originaldatei auch enthalten ist, löst sie den Fehler aus.
 

Neue Beiträge

Zurück