<?PHP
$user = "adminuser";
$pass = "adminpass";
$error = "Sorry, u hebt geen toegang!";
$name = basename ($PHP_SELF);
if ( (!isset($PHP_AUTH_USER)) || ! (($PHP_AUTH_USER == $user) && ( $PHP_AUTH_PW == "$pass" )) ) {
header("WWW-Authenticate: Basic entrer=\"Form2txt admin\"");
header("HTTP/1.0 401 Unauthorized");
echo "$error";
exit;
}
echo "HIER KOMT DE BEVEILIGDE PAGINA ALS JE BENT INGELOGD!"
?>
meerdere users laten aanmeleden? Dus user 1 met adminuser & adminpass als logingegevens gaat naar admin.html of als het kan een sessie, anders kunnen ze gewoon http://www.nl/admin.html intypen, dan heeft het hele gebeuren geen zin. Dan user2 met user1 en pass1 als gegevens gaat naar user2.html of .php?sessionid=23t42g enz.
Deze regel is fout:
<?
if ( (!isset($PHP_AUTH_USER)) || ! (($PHP_AUTH_USER == $user) && ( $PHP_AUTH_PW == $pass )) )
?>
Je maakt er een rotzooi van:
<?
if(!isset($PHP_AUTH_USER) || (!$PHP_AUTH_USER == $user && $PHP_AUTH_PW == $pass))
?>
Dat zijn genoeg haakjes.
<?
echo "$error";
# moet worden
echo($error);
?>
die haakjes is meer javascript style... ik raad je aan van in php ook php codes te gebruiken :p
Dat zie je helemaal verkeerd! echo() is, net zoals print(), een functie die met haakjes aangeroepen dient te worden omdat je in die haakjes het argument beho0rt te plaatsen.
Tsja zonder edit wordt het maar weer een extra post: Je kunt dit bericht niet wijzigen omdat het gelockt is. Vragen hierover kunnen gesteld worden in dit forum.
Als toevoeging : alle functies dienen met () aangeroepen te worden, of ze nou een argument hebben of niet.
?
Onbekende gebruiker
25-06-2004 23:57
Als ik het script maak en de database heb gemaakt, krijg ik dit in IE:
Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in G:\Abyss Web Server\htdocs\02.php on line 26
Notice: Undefined variable: PHP_AUTH_USER in G:\Abyss Web Server\htdocs\02.php on line 15
Warning: Cannot modify header information - headers already sent by (output started at G:\Abyss Web Server\htdocs\02.php:15) in G:\Abyss Web Server\htdocs\02.php on line 38
Warning: Cannot modify header information - headers already sent by (output started at G:\Abyss Web Server\htdocs\02.php:15) in G:\Abyss Web Server\htdocs\02.php on line 39
Sorry, u hebt geen toegang!
dusssss......
?
Onbekende gebruiker
26-06-2004 00:06
Line 15 heb ik veranderd van
<?
$sql = "SELECT * FROM users WHERE naam =".$PHP_AUTH_USER;
?>
naar:
<?
$sql = SELECT * FROM users WHERE naam =".$PHP_AUTH_USER;
?>
Maar dan heb ik dit:
Parse error: parse error, unexpected T_STRING in G:\Abyss Web Server\htdocs\02.php on line 15