On Fri, 16 Apr 2004 16:12:28 +0200, Rigor Mortis wrote:
> Register_globals er sat til 'ON' på serveren.
Den synes jeg så at du skulle slå fra - det er nemlig en del af dit
problem.
Med register_globals sat til ON vil
http://en.server.dk/side.php?admin=fis_i_hornlygte
føre til at der i dit script vil være en variabel $admin med værdien
'fis_i_hornlygte'. Det er jo et problem hvis det ikke er meningen at
$admin skal have en værdi før brugeren har logget ind!
Hvis du i stedet bruger $_POST['admin'], så er du sikret at variablen i
hvert fald kommer fra en form på forrige side.
Sessions er meget nemme at arbejde med:
login.php
<?php
if ( isset($_POST['submit']) && tjek_brugernavn_kodeord() )
{
session_start();
$_SESSION['brugeren er logget ind'] = true;
header('Location: admin.php');
exit();
?>
<form method="post">
<input type="brugernavn">
<input type="password" name="kodeord">
<input type="submit" name="submit" value="Log ind">
</form>
admin.php
<?php
session_start();
if ( $_SESSION['brugeren er logget ind'] )
{
header('Location: login.php');
exit();
}
// Brugeren er logget ind - juhuu
vis_alt_det_hemmelige();
?>
Koden er utestet men jeg håber du forstår pointen.
Mvh.
/Thomas