Hallo,

als ik ingelogt ben op het onderstaande script en ik klik op een link naar een andere pagina in mijn script dan ben ik in een keer niet meer ingelogt.

Weet iemand meschien waar dit aan kan liggen?

Bvd,


<?php
session_start();
//Battle Quest Gaming System V2.0 Copyright by Robin Peters

if(file_exists('config/config.php'))
{
    include('config/config.php');
}
else
{
    echo 'Can not find config file';
}

include('includes/inc_header.php');


//Check if user is already logged in.
if(isset($_SESSION['user_id'])) 
{
error_message("You are already logged in.");
}
else
{
	
	//Check if form has been submitted.
	if($_SERVER['REQUEST_METHOD'] == 'POST'){
		
		//Convert vars
		$username = $_POST['username'];
		$password = $_POST['password'];
	
			//Check if fields are empty.
			if(empty($username))
			{
			error_message('You did not enter a username, Please return.');
			}
			elseif(empty($password))
			{
			error_message('You did not enter a password, Please return');
			}
				
				//Next.
				elseif(!get_magic_quotes_gpc()) 
				{
            	$username = addslashes($username);
            	$password = addslashes($password);
            	}
					
					//Addslashes to username/password
					$password = addslashes(sha1($password));
        			$username = addslashes($username);
					
						//SQL string.
						$sql_db = "SELECT id, username, password, active, activationcode FROM members WHERE username = '$username' AND password = '$password'";
						
							//Check for result.
							$res_db = mysql_query($sql_db) or die ('User cannot be found in our database, ' . mysql_error());
							
								if(($row = mysql_fetch_array($res_db)) == 0) 
								{
								error_message('The entered login information is not right, Please try again.');
        						} 
								elseif($row['active'] == '0')
								{
								error_message('Your account is not activated yet, Please activate first.');
								}
								elseif($row['activationcode'] != 'Activated')
								{
								error_message('Your account is not activated yet, Please activate first.');
								}
								
									//Start session
									else
									{
									$_SESSION['user_id'] = $row['id'];
									$_SESSION['username'] = stripslashes($row['username']);
									$_SESSION['password'] = stripslashes($row['password']);
									$_SESSION['active'] = $row['active'];	
									}
									
								}
								?>
		  						<script language="Javascript" type="text/javascript">
    	  						location.href='index.php';
          						</script>
								<?php
							}
						include('includes/inc_footer.php');
				?>				
Mag ik een stukje van een andere pagina zien? Misschien dat ik dan kan zien waar het aan ligt.
Staat er op de volgende pagina ook een check zoals deze:
<?php
//Check if user is already logged in.
if(isset($_SESSION['user_id'])) {
... rest van code
}
?>
Flip van Rijn schreef op 08.01.2007 20:56
Staat er op de volgende pagina ook een check zoals deze:
<?php
//Check if user is already logged in.
if(isset($_SESSION['user_id'])) {
... rest van code
}
?>


Ja op sommige paginas staat dat ook
Hier is nog een andere pagina uit mijn script

<?php
#Downloads 
#Copyright 2006 by Robin Peters

//Include global includes
include('config/config.php');

//Include header
include('includes/inc_header.php');
?>


		<table width="90%" border="0" cellspacing="0" cellpadding="0">
          <tr>
            <td width="39" height="43"><img src="images/v2/content_left_top.jpg" width="39" height="43" /></td>
            <td width="95%" height="43" background="images/v2/content_top_spacer.jpg"><center><font color="#bd9c04"><b>Downloads</b></font></center></td>
            <td width="80" height="43"><img src="images/v2/content_right_top.jpg" width="80" height="43" /></td>
          </tr>
          <tr>
            <td width="45" background="images/v2/content_left_spacer.jpg">&nbsp;</td>
            <td bgcolor="#000000">
<table width="100%" border="1" cellpadding="0" cellspacing="0" bordercolor="#000000">
  <tr>
    <td bgcolor="#1e1e1e"><div align="center"><strong>Name</strong></div></td>
    <td bgcolor="#1e1e1e"><div align="center"><strong>Discription</strong></div></td>
	<td bgcolor="#1e1e1e"><div align="center"><strong>Add Date</strong></div></td>
    <td bgcolor="#1e1e1e"><div align="center"><strong>Download</strong></div></td>
  </tr>
  	
	<?php
	$sql = "SELECT name, disc, adddate, ladderid, link FROM downloads ORDER BY name ASC";
	$query = mysql_query($sql);
	while($list = mysql_fetch_object($query)) {
  	
	echo'<tr>
    <td><div align="center">' . $list->name . '</div></td>
    <td><div align="center">' . $list->disc . '</div></td>
    <td><div align="center">' . $list->adddate . '</div></td>
	<td><div align="center"><a href=' . $list->link . '>[ Download ]</a></div></td>
  	</tr>';
	}
	?>
  
</table>
</td>
            <td width="45" background="images/v2/content_right_spacer.jpg">&nbsp;</td>
          </tr>
          <tr>
            <td width="39" height="51"><img src="images/v2/content_left_bottum.jpg" width="39" height="51" /></td>
            <td width="95%" height="51" align="center" background="images/v2/content_bottum_spacer.jpg">&nbsp;</td>
            <td width="45" height="51"><img src="images/v2/content_right_bottum.jpg" width="80" height="51" /></td>
          </tr>
        </table>
<?php
//Include footer
include('includes/inc_footer.php');
?>
Begin je elke pagina met session_start() ??

Reageren