<?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.
Is dit goed dan:
<?PHP
$user = "1";
$pass = "1";
$error = "Sorry, u hebt geen toegang!";
$name = basename($PHP_SELF);
if($_SERVER['$PHP_AUTH_USER'] == "" AND $_SERVER['$PHP_AUTH_PW'] == "" AND $_SERVER['$PHP_AUTH_USER'] != $user AND $_SERVER['$PHP_AUTH_PW'] != $pass)
{
header("WWW-Authenticate: Basic entrer=\"Form2txt admin\"");
header("HTTP/1.0 401 Unauthorized");
echo $error;
}
elseif($_SERVER['$PHP_AUTH_USER'] == $user AND $_SERVER['$PHP_AUTH_PW'] == $pass)
{
echo "HIER KOMT DE BEVEILIGDE PAGINA ALS JE BENT INGELOGD!";
}
?>
?
sorry ben een wxeekendje weg geweest:
kan goed zijn dat het script niet werkt, zal ff mijn werkend script posten:
(heb wel een lichtjes andere database, status is in mijn database what)
<?php
//connect to db
$user = "user";
$password = "pass";
$db = "database";
$link = mysql_connect("localhost", $user, $password);
if (!$link) die ("Er zijn problemen met de server, probeer later opnieuw");
mysql_select_db($db, $link) or die ("Er zijn problemen met de server, probeer later opnieuw");
$error = "Sorry, u hebt geen toegang!";
// gegevens uit db
$sql = "SELECT * FROM users WHERE naam =".$_SERVER['PHP_AUTH_USER'];
$geg = mysql_query($sql);
$geg2 = mysql_query($sql);
if(isset($_SERVER['PHP_AUTH_USER'])){
// juiste rij uitschrijven
while ($rij = mysql_fetch_array($geg)){
?>
bij mij werkte het voor het weekend dus normaal is alles goed!
maar wil iemand nu eens antwoorden:
in php manual staat:
header('WWW-Authenticate: Basic realm="My Realm"');
en in dit script staat
header("WWW-Authenticate: Basic entrer=\"Form2txt admin\"");
waar staat die entrer voor en waar staat die realm voor?
excuses voor de dubbele post maar het script blijkt niet helemaal te werken...
(het geeft na drie keer de error message weer, ookal geef ik het juiste password in en user!
(en werkt trouwens ook niet in opera...)
volgens mij kan je het best om compatibel te zijn met alle browsers een formpje maken
en dan de post variabelen in de server php auth bla zetten:
Kan ik ook i.pv. HIER KOMT DE BEVEILIGDE PAGINA in mijn 1e post (dus met 1 user en pass) een html-code neerzetten? Of als het kan een code dat hij doorlinkt naar een page? Anders neem ik wel een ander script als dit te moeilijk wordt. (ik heb er al een liggen, alleen met dit venstertje is het wat veliger)