Ik heb een inlogsysteem gemaakt en er voor gezorgd dat men niet de volledige URL kan intikken om naar de pagina('s) te gaan die achter de inlog.php zitten. dat hij dus terug gaat naar de inlog.php. Maar nu heb ik 1 probleem. Ik test alles met PHP triad. En daar doet hij het perfect. Maar de server waar hij op moet komen te staan draaid IIS. En daar doet hij het dus niet op.

Als ik een URL intik van een pagina die achter de inlog.php zit krijg ik deze foutmelding:

Notice: Undefined index: login in E:\Inetpub\wwwroot\website-cotask\inlog\admin\admin.php on line 3

Warning: Cannot modify header information - headers already sent by (output started at E:\Inetpub\wwwroot\website-cotask\inlog\admin\admin.php:3) in E:\Inetpub\wwwroot\website-cotask\inlog\admin\admin.php on line 4

IK gebruik deze scripts:

[php]
<?php
session_start();
$gb[0]="admin,admin"; // gebruiker 0
$gb[1]="test,test"; // gebruiker 1

$personal[0]="admin/admin.php"; // gebruiker 0
$personal[1]="test/test.php"; // gebruiker 1


if(isset($_POST['submit'])){
$login=0;
for($i=0; $i < count($gb); $i++)
{
if($gb[$i]==$_POST['naam'].",".$_POST['wachtwoord']){
$login=1;
$page=$personal[$i];

$_SESSION['login'] = TRUE;

break;
}

}
if($login){
# direct naar nieuwe pagina:
header("location:$page");

}
else
{
?>
<HTML>
<body leftmargin="100" topmargin="50">
<font size="2" face="verdana">
Je bent niet ingelogd.<br>Verkeerd wachtwoord of gebruikersnaam<br>
<a href="inloggen.php">Opnieuw</a><br><br>

</HTML>
<?
}
}
else
{
echo "<body leftmargin=100>";
echo "<div id=ven1>";
echo "<font face='verdana' size='1' color='#000000'>";
echo "<br><br>";
echo "<form method=POST>";
echo "Loginnaam<br><input type=text name=naam value='admin' style='background-image:url(loginnaamblok.jpg);'><br>";
echo "Wachtwoord<br><input type=password name=wachtwoord value='admin' style='background-image:url(wachtwoordblok.jpg);'><br><br>";
echo "<input type=submit src='loginknop.jpg' name=submit value=inloggen> ";
echo "</form>";
echo "</div>";
}
?>
[/php]

En dit script staat dan op iedere beveiligde pagina. En daar krijg ik de foutmeldingen van.

[php]
<?php
session_start();
if(!$_SESSION['login']){
header("location:http://localhost/inlog/inloggen.php";);
}

?>
<html>
// inhoud van de pagina
</html>
[\php]

Weet iemand wat ik aan mn script moet veranderen??
header("location:http://localhost/inlog/inloggen.php";);

dat gedeelte moet helemaal bovenaan de pagina staan, voor elke output (dus er mag geen tekst, spatie of html voor staan).. ik denk dat wanneer je session_start(); weghaald, dit het ook kan voorkomen..

werkt het allemaal niet, dan javascript redirectje bijvoorbeeld..

<?
echo "<script language=\"text/javascript\">window.location='inloggen.php'</script>";
?>
Hij doet het, thnx man
En weet iemand ook hoe je dat doet met een PDF i.p.v. een webpagina??
Nimda al gevonden? ^^
?
Nimda is een virus, een worm meer bepaald.
Ik heb enkele keren met IIS gewerkt en telkens kwam bij de installatie de Nimda worm mee.
Het beestje is redelijk onschuldig hoor; het schrijft enkel je schijf langzaamaan vol met onzinnige files.
Nee daar heb ik nog geen last van gehad. Maar iig bedankt voor de waarschuwing.
probeer het is met "small http server" klein en snel server prog

Reageren