Ik heb een inlog systeem gemaakt alleen nu start in een session "Recht" alleen als ik hem echo krijg ik hem niet te zien


    <?php
session_start();

include('inc/database.php');

if ($_SERVER ['REQUEST_METHOD'] == 'POST') {
	
	$gebr =  ($_POST['gebruikersnaam']); 
	$ww =  (addslashes(sha1($_POST["wachtwoord"])));
	$recht = '';
	
	$query = "SELECT recht,gebruikersnaam,wachtwoord FROM gebruikers WHERE gebruikersnaam='".mysql_real_escape_string($gebr)."' AND wachtwoord='".mysql_real_escape_string($ww)."'";
	
	$result = mysql_query($query);
	
	$aantal = mysql_fetch_array($result);



		if($aantal[0] == true){
		
			$_SESSION['gebr']=$gebr;
			$_SESSION['recht']=$recht;
			
			header("location: Control.php");
			exit;
		
		}else {
				echo '<FONT COLOR="red">U heeft u gegevens verkeerd ingevuld!!</font>';
				
		
	}	
	
}
?>


<?php


session_start();

if(!isset($_SESSION['gebr']) || $_SESSION['gebr'] == "")
elseif(!isset($_SESSION['recht']) || $_SESSION['recht'] == "")
{ 
    header('Location: login.php'); 
    
} 

$recht = $_SESSION['recht'];



if ($recht == '1')
{
	
		echo'<li><a href="#">Verkoop</a>';
		echo'<ul>';
		echo'<li><a href="AddingTruck.php">Nieuw</a></li>';
		echo'<li><a href="Stocklist.php">overzicht</a></li>';

		echo'</ul>';
		
		echo'<li><a href="#">Overige</a>';
		echo'<ul>';
		echo'<li><a href="NewUser.php">Nieuwe gebruiker</a></li>';
		echo'<li><a href="changePassword.php">Wachtwoord wijzigen</a></li>';

		echo'</ul>';

}
else
{
		echo'<li><a href="#">Verkoop</a>';
		echo'<ul>';
		echo'<li><a href="AddingTruck.php">Nieuw</a></li>';
		echo'<li><a href="Stocklist.php">overzicht</a></li>';

		echo'</ul>';
		
		echo'<li><a href="#">Overige</a>';
		echo'<ul>';
		echo'<li><a href="changePassword.php">Wachtwoord wijzigen</a></li>';
		echo'</ul>';
}
	


?>
Eerst doe je $recht = '';
En dat zet je in de session $_SESSION['recht']=$recht;
Dus er zal weinig te zien zijn in een echo.
komt omdat je op regel 10 $recht vult met niks. Verder in vul je het ook niet
- SanThe - op 05/12/2011 10:16:26

Eerst doe je $recht = '';
En dat zet je in de session $_SESSION['recht']=$recht;
Dus er zal weinig te zien zijn in een echo.


Ja dat had ik onlangs ook ontdekt, en aangepast, verder print die met print_r wel het recht alleen ik krijg hem niet in een echo.
En <FONT COLOR="red"> is ook een beetje verouderd hè ;-)
Hoe kan ik dit het beste oplossen.

[size=xsmall]Toevoeging op 05/12/2011 10:19:11:[/size]

- Aar - op 05/12/2011 10:17:59

En <FONT COLOR="red"> is ook een beetje verouderd hè ;-)


oké, ga ik ook wat mee doen om de kleur te genereren
Dirk Renes op 05/12/2011 10:17:55

Ja dat had ik onlangs ook ontdekt, en aangepast, verder print die met print_r wel het recht alleen ik krijg hem niet in een echo.

Plaats je een array in $_SESSION['recht']? Die zijn nooit met een echo te tonen, maar wel met een print_r (voor debugging).
nee ik had het met print_r result gedaan.
Dat is om in ontwikkelomgevingen om een array te tonen. Dus blijkbaar zit er in $_SESSION['recht'] een array.

Wat is de output van print_r($_SESSION['recht'])?
Ik krijg een foutmelding in lijn 16 als ik hem op de webserver zet, wat kan dit zijn?

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resourc
je foutafhandeling voor je query mist

Reageren