Hallo,

ik ben bezig met een beveiligde pagina.
Nu heb ik een login script geschreven dat goed werkt. Ik heb alleen het probleem dat het script javascript soms dwars zit.
Als je inlogt en naar de pagina gaat doet javascript het gewoon. Refresh je de pagina, of ga je naar een andere pagina (je blijft ingelogd d.m.v. een cookie) dan werkt javascript in een keer niet meer...

De pagina ziet er nu alsvolgd uit:

login.php
<?php
if (isset($_GET['logout'])){
	$logout = (int) $_GET['logout'];
	
	//uitloggen
	$toegang=0;
	setcookie("user", "");
	?>
	
  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />


<title>Admin</title>
<link rel="stylesheet" href="css/screen.css" type="text/css" media="screen" title="default" />
<!--  jquery core -->
<script src="js/jquery/jquery-1.4.1.min.js" type="text/javascript"></script>

<!-- Custom jquery scripts -->
<script src="js/jquery/custom_jquery.js" type="text/javascript"></script>

<!-- MUST BE THE LAST SCRIPT IN <HEAD></HEAD></HEAD> png fix -->
<script src="js/jquery/jquery.pngFix.pack.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function(){
$(document).pngFix( );
});
</script>

</head>
<body id="login-bg"> 
 
<!-- Start: login-holder -->
<div id="login-holder">

	<!-- start logo -->
	<div id="logo-login">
	
	</div>
	<!-- end logo -->
	
	<div class="clear"></div>
	
	<!--  start loginbox-->
	<div id="loginbox">
	
	<!--  start login-inner -->
	<div id="login-inner">
	U bent succesvol uitgelogd!
	
	</div>
 	<!--  end login-inner -->
	<div class="clear"></div>
	
 </div>
 <!--  end loginbox -->
 
	<!--  start forgotbox ................................................................................... -->
	<div id="forgotbox">
		<div id="forgotbox-text">Please send us your email and we'll reset your password.</div>
		<!--  start forgot-inner -->
		<div id="forgot-inner">
		<form action="<?php echo $_SERVER['PHP_SELF'];?>" method="post">
		<table border="0" cellpadding="0" cellspacing="0">
		<tr>
			<th>Email address:</th>
			<td><input type="text" value=""   class="login-inp" name="email" /></td>
		</tr>
		<tr>
			<th> </th>
			<td><input type="hidden" name="verzonden" value="2" /><input type="submit" value="verzenden" class="submit-login" /></td>
		</tr>
		</table>
		</form>
		</div>
		<!--  end forgot-inner -->
		<div class="clear"></div>
		<a href="" class="back-login">Back to login</a>
	</div>
	<!--  end forgotbox -->

</div>
<!-- End: login-holder -->
</body>
</html>
	<?php
}
else{
	$logout = 0;

include_once('config.php');
$toegang=0;
// controleer eerst of het cookie bestaat 
if(isset($_COOKIE["user"])) {
echo "cooookie!!!"; 
  // cookie bestaat, lees de waarde uit 
  $cookie_var = $_COOKIE["user"]; 
	echo  $cookie_var;
//kijken of username in db voorkomt: 

/**
	* database openen
	*/
	if (!$db = mysql_connect($host, $gebruiker, $wachtwoord)){
		echo '<h2>FOUT: Het openen van de database is mislukt.</h2>';
		echo 'De MySQL-foutmelding luidt: ' . mysql_connect_error(); 
		exit;
	};
	mysql_select_db($database);
	/**
	*  openen geslaagd, alle bijdragen in een lus op het scherm zetten
	*/
	$query = "SELECT * FROM members";
	if (!$result = mysql_query($query, $db)){
		echo '<h2>FOUT: kan niet lezen uit de database</h2>';
		echo 'De MySQL-foutmelding luidt: ' . mysql_error($db);
		exit;
	};
	while($record = mysql_fetch_array($result)){	
?>
			<?php
						$user=$record['username'];
						if ($cookie_var==$user){
						//cookie klopt --> ga verder naar pagina dus $toegang=1
						$toegang=1; 
						}
												
					?>
			<?php } 
if(!$toegang==1){
$toegang="cookie komt niet overeen met gegevens in de Database.";
}			
}
 else { 
  // cookie bestaat niet 
   $cookie_var = "geen"; 
  // kijk of pagina zichzelf heeft aangeroepen--> 
  if (isset($_POST['verzonden'])){
  if($_POST['verzonden']==1){
  //login
  $user=$_POST['username'];
 
  $pass=$_POST['password'];
 
  //kijken of username in db voorkomt: 

/**
	* database openen
	*/
	if (!$db = mysql_connect($host, $gebruiker, $wachtwoord)){
		echo '<h2>FOUT: Het openen van de database is mislukt.</h2>';
		echo 'De MySQL-foutmelding luidt: ' . mysql_connect_error(); 
		exit;
	};
	mysql_select_db($database);
	/**
	*  openen geslaagd, alle bijdragen in een lus op het scherm zetten
	*/
	$query = "SELECT * FROM members";
	if (!$result = mysql_query($query, $db)){
		echo '<h2>FOUT: kan niet lezen uit de database</h2>';
		echo 'De MySQL-foutmelding luidt: ' . mysql_error($db);
		exit;
	};
	while($record = mysql_fetch_array($result)){	
?>
			<?php
						$userdb=$record['username'];
						$passdb=$record['password'];
						if ($user==$userdb){
						// username klopt
						if ($pass==$passdb){
						$toegang=2;
						}
						}					
					?>
			<?php }
  if ($toegang==2){
  //cookie maken
  $time=time()+86400;
  setcookie("user", $user,  $time);
  $toegang=1;
  }
  else{ 
  //verkeerde login
 
   echo "verkeerde login gegevens";
   
  
  }
  }
  else{
  //login vergeten...
  echo "login vergeten";
  }
  
  }
  else{
  //formulier tonen
  ?>
  
  
  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Admin</title>
<link rel="stylesheet" href="css/screen.css" type="text/css" media="screen" title="default" />
<!--  jquery core -->
<script src="js/jquery/jquery-1.4.1.min.js" type="text/javascript"></script>

<!-- Custom jquery scripts -->
<script src="js/jquery/custom_jquery.js" type="text/javascript"></script>

<!-- MUST BE THE LAST SCRIPT IN <HEAD></HEAD></HEAD> png fix -->
<script src="js/jquery/jquery.pngFix.pack.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function(){
$(document).pngFix( );
});
</script>

</head>
<body id="login-bg"> 
 
<!-- Start: login-holder -->
<div id="login-holder">

	<!-- start logo -->
	<div id="logo-login">
	
	</div>
	<!-- end logo -->
	
	<div class="clear"></div>
	
	<!--  start loginbox-->
	<div id="loginbox">
	
	<!--  start login-inner -->
	<div id="login-inner">
	<form action="<?php echo $_SERVER['PHP_SELF'];?>" method="post">
		<table border="0" cellpadding="0" cellspacing="0">
		<tr>
			<th>Username</th>
			<td><input type="text"  class="login-inp" name="username" /></td>
		</tr>
		<tr>
			<th>Password</th>
			<td><input type="password" value="************"  onfocus="this.value=''" class="login-inp" name="password" /></td>
		</tr>
		<tr>
			<th></th>
			<td valign="top"></td>
		</tr>
		<tr>
			<th></th>
			<td><input type="hidden" name="verzonden" value="1" /><input type="submit" value="verzonden" class="submit-login" /></td>
			
		</tr>
		</table>
		</form>
	</div>
 	<!--  end login-inner -->
	<div class="clear"></div>
	<a href="" class="forgot-pwd">Forgot Password?</a>
 </div>
 <!--  end loginbox -->
 
	<!--  start forgotbox ................................................................................... -->
	<div id="forgotbox">
		<div id="forgotbox-text">Please send us your email and we'll reset your password.</div>
		<!--  start forgot-inner -->
		<div id="forgot-inner">
		<form action="<?php echo $_SERVER['PHP_SELF'];?>" method="post">
		<table border="0" cellpadding="0" cellspacing="0">
		<tr>
			<th>Email address:</th>
			<td><input type="text" value=""   class="login-inp" name="email" /></td>
		</tr>
		<tr>
			<th> </th>
			<td><input type="hidden" name="verzonden" value="2" /><input type="submit" value="verzenden" class="submit-login" /></td>
		</tr>
		</table>
		</form>
		</div>
		<!--  end forgot-inner -->
		<div class="clear"></div>
		<a href="" class="back-login">Back to login</a>
	</div>
	<!--  end forgotbox -->

</div>
<!-- End: login-holder -->
</body>
</html>
  
  <?php
  
  }
}
}

?>



(n.b. wachtwoord vergeten werkt nog niet)

Verder zet ik dan op iedere pagina die beveiligd moet worden de volgende code:
<?php
require_once("config.php");
require_once("login.php");
if ($toegang==1){ 
?>
*hier de pagina die beveiligd moet worden*
dus <html xmlns="http://www.w3.org/1999/xhtml">
<head> etc. etc. 

<?php
}
?>


Is er misschien iemand die me met dit probleem kan helpen?
Misschien weet iemand een andere manier om een pagina te beveiligen, want ik denk zelf dat het probleem wordt veroorzaakt doordat de pagina tussen het if statment zit.

Alvast bedankt!

Reageren