<?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.
$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 =".$PHP_AUTH_USER;
$geg = mysql_query($sql);
$geg2 = mysql_query($sql);
if(isset($PHP_AUTH_USER)){
// juiste rij uitschrijven
while ($rij = mysql_fetch_array($geg)){
// hier komt dus de pagina waar naar waar je de user doorstuurt...
while ($rij = mysql_fetch_array($geg2)){
switch ($row['status']){
case "admin":
header("Location: admin.php");
exit;
break;
case "user":
header("Location: user.php?user=".$row['id']);
exit;
break;
// eventuele andere mogelijkheden
}
}
?>
ik heb dit niet uitgetest (vlug ff geschreven) dus het kan nog fouten bevatten maar normaal zou het moeten werken
dan zet je op die paginas een lus om te zien of ze de autentiekatie al hebben gedaan, zoniet stuur je ze door naar deze inlog pagina...
edit:
header("WWW-Authenticate: Basic entrer=\"Form2txt admin\"");
wat doet dat juist want een inlogsysteem met auth zie ik ook wel zitten...
moet je voor die regel een speciaal bestand op je server zetten (ik weet wel dat die auth toegelaten is dus dat zal het probleem niet zijn denk ik)
?
Onbekende gebruiker
25-06-2004 12:38
Dus ik maak in MySQL een db aan met USERS, en ik daai het op mijn eigen servertje.
is er dan ook nog een andere
.htpass kan je gebruiken maar als je dan een nieuwe gebruiker wilt maken moet je het bestand herchrijven en dit vergt meer moeite dan vlug in een db zetten
aan andor:
jep
id is primary key en auto_increment
de rest is tekst...
--> een vraagje:
header("WWW-Authenticate: Basic entrer=\"Form2txt admin\"");
wat doet dat juist want een inlogsysteem met auth zie ik ook wel zitten...
moet je voor die regel een speciaal bestand op je server zetten (ik weet wel dat die auth toegelaten is dus dat zal het probleem niet zijn denk ik)
edit:
heb ff een foutje gevonden: de laatste switch moet dit zijn:
<?php
switch ($row['status']){
case "admin":
header("Location: admin.php");
break;
case "user":
header("Location: user.php?user=".$row['id']);
break;
// eventuele andere mogelijkheden
CREATE TABLE users (
id int(8) NOT NULL auto_increment,
naam varchar(50) NOT NULL default '',
pass varchar(50) NOT NULL default '',
status varchar(20) NOT NULL default 'user',
PRIMARY KEY (id)
) TYPE=MyISAM;
er staan nog wel wat fouten in het script maar die ga ik er direct eens uithalen :P