Jeg synes det er en skam at denne sygdom spredes, folk burde læse de grundlæggende regler og bygge deres egen "php stil" ud fra det, ikke bare læse første tutorial og så bygge ud derfra. Jeg vil gøre som mit eksempel viser, og dette ser jeg som en mere rigtigt måde at gøre dette på. Dog tilføjer jeg at jeg er imod denne måde at gøre det på, men hvis det skal være på denne måde, skal det i det mindste være ordentligt. Du må bruge dette script fuld ud, også i dit eget navn hvis du vil.
login_form.php
<?
if ( isset ( $_COOKIE['login'] ) ) {
print "Du er allerede logget ind!";
print "Gå til <a href='main.php'>Start side</a>";
exit;
}
$realpass = "password";
if ( isset ( $_REQUEST['formpass'] ) ) {
$formpass = $_REQUEST['formpass'];
if ( $realpass == $formpass ){
setcookie ( "login" );
header ( "location: main.php" );
exit;
} else {
form ( "Du har tastet forkert!" );
}
} else {
form ( "Indtast Kodeord" );
}
function form ( $text ) {
print "<form action='".$_SERVER['PHP_SELF']."' method='post'>
Kodeord: <input type='password' name='formpass'>
<a href='javascript:document.form.submit();'>Login</a>
</form>".$text;
}
?>
Problemet opstår hvis vi ikke indsætter noget kode på main.php, for så kan folk jo bare klikke sig ind på den uden at have været på login_form.php, dette løser vi såden:
main.php
<?
if ( !isset ( $_COOKIE['login'] ) ) {
print "Du er ikke logget ind";
print "Gå til <a href='login_form.php'>Login Page</a>";
} else {
?>
<!--SIDENS INDHOLD HER! //-->
<?
}
?>
Så skulle den være i vinkel. Skulle du have brug for mere hjælp, eller er der noget du ikke helt forstår, skal du bare spørge.
[Redigeret d. 14/12-04 17:54:32 af Steffan Johannesen]