Avatar billede nufan_us Nybegynder
08. september 2003 - 17:12 Der er 4 kommentarer og
1 løsning

.htaccess flere brugere - hver deres side

Jeg har fået password beskyttet admin delen på http://www.r-a-b.dk

Jeg kan sagtens lave flere brugere, men jeg skal have dem sendt til hver deres individuelle side, når de skriver deres brugernavn og password..

Jeg kan kun finde ud af at gøre det, ved at lave flere .htaccess og .htpasswd filer, men så kræver det også at der er et link der henviser til hver sin mappe, hvori de forskellige brugeres side ligger.
Da jeg gerne ville slippe for at have en liste med brugernavne stående som links, ville jeg gerne integrere det i .htaccess på en eller anden måde...

Nogen der ved hvordan man gør??
Avatar billede swaxi Nybegynder
09. september 2003 - 15:09 #1
if (isset($PHP_AUTH_USER)) {
    header("Location: /users/".rawurlencode($PHP_AUTH_USER)); exit;
}
Avatar billede nufan_us Nybegynder
09. september 2003 - 21:06 #2
swaxi:  Det ser lovende ud, men da jeg er ikke den helt store mester til PHP.
Kunne jeg godt bruge lidt mere uddybelse af det du har skrevet..
Avatar billede swaxi Nybegynder
10. september 2003 - 16:58 #3
okay.
når du er logget ind via htaccess, ligger brugernavnet (og også passwordet for den sags skyld) i nogle for php-scriptet globale variable. brugernavn ligger i $PHP_AUTH_USER (som også hedder $_SERVER['PHP_AUTH_USER'] eller $HTTP_SERVER_VARS['PHP_AUTH_USER'] afhængig af version af php/konfiguration af den)

når folk er logget ind, kan du altså bruge ovennævnte variabel til at identificere dem med. herefter har du flere muligheder. i ovennævnte eksempel redirecter jeg brugeren til: www.hostname.com/users/<brugernavn>

du kunne også eks. have lavet een side, som alle dine brugere går ind på, og på denne side kunne du hente relevante oplysninger ud fra en database, hvor du bruger brugernavnet som id. eks :



<?php
// check om brugeren er logget ind
if (!isset($PHP_AUTH_USER))
    die ("Du er ikke logget ind");
// udtag brugerens ulæste beskeder
// fra table "messages" ("user" varchar(255), "title" varchar(255), "msg" text)
$q = "SELECT `title`,`msg` FROM `messages` WHERE `user`='".addslashes($PHP_AUTH_USER)."'";
$res = mysql_query($q) or die(mysql_error());
echo "<h1>beskeder</h1>\n";
while ($row = mysql_fetch_array($res)) {
    echo "<strong>".htmlentities($row['title'])."</strong>\n";
    echo "<p>".nl2br(htmlentities($row['msg']))."</p>\n";
}
?>
Avatar billede nufan_us Nybegynder
10. september 2003 - 21:21 #4
Tusind tak for svaret swaxi.... det var lige det jeg ledte efter..
Avatar billede swaxi Nybegynder
10. september 2003 - 22:40 #5
velbekomme dig
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester