hallo ik heb een inlog script draaien wat mijn fotopagina beveiligd.
na het inloggen word ik niet door verwezen naar de pagina die ik in de header heb aangegeven..
weet iemand wat ik verkeerd heb gedaan misschien?
hier mijn code:

<?


error_reporting(E_ALL);
session_start();

include("config.php");
include("functions.php");

if(!isset($_COOKIE['last_active']))
{
	if(isset($_SESSION['user_id']))
	{
		mysql_query("UPDATE tbl_users SET user_lastactive = NOW() WHERE user_id = '" . $_SESSION['user_id'] . "'") or die(mysql_error());
		setcookie("last_active",true,time()+5);
	}
}

if(!isset($_SESSION['user_id']))
{
	if(isset($_POST['login']))
	{
		$query = mysql_query("SELECT * FROM tbl_users WHERE user_name = '" . $_POST['user'] . "' AND user_pass = '" . md5($_POST['pass']) . "'");
		$result = mysql_num_rows($query);

		if(empty($result))
		{
			echo "<script>alert('Login Incorrect.'); document.location.href=('..fotoindex.php')</script>";
		}
		else
		{
			while($row = mysql_fetch_assoc($query))
			{
				$user_id = $row['user_id'];
			}

			header("Location: ../weat/index.php");
			$_SESSION['user_id'] = $user_id;
		}
	}
	else
	{
?>
<style type="text/css">
<!--
#Layer1 {
	position:absolute;
	width:200px;
	height:115px;
	z-index:1;
	left: 324px;
	top: 223px;
}
body {
	background-color: #99CCFF;
}
#Layer2 {
	position:absolute;
	width:217px;
	height:193px;
	z-index:1;
	left: 800px;
	top: 338px;
}
-->
</style>

<h1>De pagina die u zocht vereist lidmaatschap.</h1>
<h3>Bent u nog geen lid bent van Heisse Hasen.nl kunt u zich aanmelden door op register te klikken,<br />
U ontvangt dan ook email bij nieuwe updates en u kunt berichten sturen per pm aan andere leden! </h3>
<form method="POST">


<div align="left">
  <input type="hidden" value="1" name="login" />
Username : 
<input type="text" name="user" maxlength="15" />
<br />
Password : 
<input type="password" name="pass" maxlength="15" />
<br />
<br />

<input type="submit" value="Login" />
<br />
<br />
<img src="icons/register.gif" /> <a href="register.php">Register</a><br />
<img src="icons/memberlist.gif" /> <a href="memberlist.php">Memberlist</a>

<?
	}
}
else
{
	$query = mysql_query("SELECT * FROM tbl_users WHERE user_id = '" . $_SESSION['user_id'] . "'");

	while($row = mysql_fetch_assoc($query))
	{
		echo "Username : <b>" . $row['user_name']. "</b>";

		if($row['user_pm'])
		{
			$msg = mysql_result(mysql_query("SELECT COUNT(1) FROM tbl_msg WHERE msg_to = '" . $_SESSION['user_id'] . "'"),0);

			if(empty($msg))
			{
				$msg = "<font color=\"#008000\">Empty</font>";
			}
			elseif($msg >= $cfg['max_msg'])
			{
				$msg = "<font color=\"#FF0000\">FULL</font>";
			}
			else
			{
				$msg = $msg . " / " . $cfg['max_msg'];
			}

			echo "<br>\n";
			echo "Inbox : <b>". $msg ."</b> ( <a href=\"msg.php?act=inbox\">Open</a> )";
		}
	}

	echo "<br>\n<br>\n";

	if(isset($_SESSION['admin_login']))
	{
		
		echo "<img src=\"icons/admin.gif\"> <a href=\"admin.php\">Admin Page</a>";
		echo "<br>\n";
	}

	echo "<img src=\"icons/memberlist.gif\"> <a href=\"memberlist.php\">Memberlist</a>";
	echo "<br>\n";
	echo "<img src=\"icons/profile.gif\"> <a href=\"profile.php?act=edit_profile\">Change Profile</a>";
	echo "<br>\n";
	echo "<img src=\"icons/profile.gif\"> <a href=\"profile.php?act=view&user_id=" . $_SESSION['user_id'] . "\">My Profile</a>";
	echo "<br>\n";
	echo "<img src=\"icons/logoff.gif\"> <a href=\"logoff.php\">Log Off</a>";
}
?>

<br />
		<br />
		<br />
		<div id="Layer2"><img src="../pics/538354_chicken-rabbit-sex.JPG" alt="rabit" width="227" height="197" /></div>
</div>

Je moet de sessievariabele declareren voordat je header() aanroept. Dus draai regels 37 en 38 uit bovenstaande code eens om...
als ik dit doe krijg ik het zelfde effect!

<input type="submit" value="Login" />


Je hebt deze input geen naam meegegeven terwijl je daar wel op controleert:
<?php
if(isset($_POST['login']))
?>

Dat moet dus zijn:

<input type="submit" name="login" value="Login" />


Maar kijken of er iets gepost is doe je normaal gesproken met:
<?php
if($_SERVER['REQUEST_METHOD'] == 'POST')
?>


ok ik word door gestuurd maar nu kom ik op de fotopagina worden de foto's niet meer weergegeven maar alleen maar als kruisjes :S
bassment schreef op 16.10.2006 17:39
ok ik word door gestuurd maar nu kom ik op de fotopagina worden de foto's niet meer weergegeven maar alleen maar als kruisjes :S
Dan is de foto niet beschikbaar in het aangegeven pad. Zie de html-broncode
maar hoe kan het dan dat het zonder beveiliging wel werkt puur door er dit:
<?php
session_start();

if (empty($_SESSION['user_id'])) {
header('Location: ../login/index.php');
die();
}

aan toe te voegen werken de foto's niet meer de index laad ze automatisch vanuit de map die in de zelfde map gevestigd is :s

Reageren