specifieke webcontent koppelen aan user
Ik heb een vraag over een inlogscript dat ik heb.
Ik zou graag specifieke content willen koppelen een ingelogde user.
Daarbij wil ik graag een bestand aanroepen waarin de naam van de user zit.
Bijvoorbeeld: Als user "piet" is ingelogd, krijgt de user te zien: Welcome piet, you are logged in.
Hieronder moet de informatie komen die in bestand "piet.php" staat.
Als "jan" is ingelogd, moet er onder de welcome regel de informatie van jan.php komen te staan
De code voor in te loggen staat hieronder:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
/**
* User has already logged in, so display relavent links, including
* a link to the admin center if the user is an administrator.
*/
if($session->logged_in){
echo "<h1>Logged In</h1>";
echo "Welcome <b>$session->username</b>, you are logged in. <br><br>"
."[<a href=\"userinfo.php?user=$session->username\">My Account</a>] "
."[<a href=\"useredit.php\">Edit Account</a>] ";
if($session->isAdmin()){
echo "[<a href=\"admin/index.php\">Admin Center</a>] ";
}
echo "[<a href=\"process.php\">Logout</a>]";
}
else{
?>
/**
* User has already logged in, so display relavent links, including
* a link to the admin center if the user is an administrator.
*/
if($session->logged_in){
echo "<h1>Logged In</h1>";
echo "Welcome <b>$session->username</b>, you are logged in. <br><br>"
."[<a href=\"userinfo.php?user=$session->username\">My Account</a>] "
."[<a href=\"useredit.php\">Edit Account</a>] ";
if($session->isAdmin()){
echo "[<a href=\"admin/index.php\">Admin Center</a>] ";
}
echo "[<a href=\"process.php\">Logout</a>]";
}
else{
?>
Hoe kan ik nu realiseren dat "piet" de informatie van bestand piet.php krijgt te zien, "jan" de info van jan.php etc...
Ik heb niet zoveel verstand van php code, maar kan iemand mij hierbij helpen/
alv bedankt,
jack
PHP Include: http://php.net/manual/en/function.include.php
Code (php)
Gewijzigd op 07/11/2012 16:42:41 door Yanick vB
Gewijzigd op 07/11/2012 16:42:48 door John D
Tjah, het is zeker niet efficiënt maar misschien houdt hij het maar bij 2 gebruikers en heeft geen beschikking over een database?
Maar dit script is niet middels een inlog afgeschermd.
Ik ben daarom min of meer verplicht om elke user een eigen map te geven waarin het script draait, aangeroepen door bestand: index.php
Dus in mijn webroot: root/jan/index.php
root/piet/index.php
root/kees/index.php
Dit is voor mij makkelijk om voor ieder de bestanden te beheren die ik voor download ter beschikking stel
het enige is dat het afgeschermd moet worden middels een inlogsessie.
Uiteraard kan ik voor ieder in elke map het inlogscript zetten, maar het inlogscript gebruikt een database en "jan" kan met zijn inloggegevens in de map van kees de bestanden van kies zien, ervan uitgaande dat jan weet dat kees ook een map heeft die bereikbaar is.
Dus wat ik zelf als een oplossing zie is dat de variabele username gekoppeld wordt aan (zoiets als $user roept bestand $user.php aan)
Toevoeging op 07/11/2012 17:00:37:
Wat info vooraf nav mijn vraag: ik heb een filemanagement systeem waarin gebruikers bestanden kunnen uploaden, downloaden, verplaatsen, renamen etc.
Maar dit script is niet middels een inlog afgeschermd.
Ik ben daarom min of meer verplicht om elke user een eigen map te geven waarin het script draait, aangeroepen door bestand: index.php
Dus in mijn webroot: root/jan/index.php
root/piet/index.php
root/kees/index.php
Dit is voor mij makkelijk om voor ieder de bestanden te beheren die ik voor download ter beschikking stel
het enige is dat het afgeschermd moet worden middels een inlogsessie.
Uiteraard kan ik voor ieder in elke map het inlogscript zetten, maar het inlogscript gebruikt een database en "jan" kan met zijn eigen inloggegevens in de map van kees ook de bestanden van kees zien, ervan uitgaande dat jan weet dat kees ook een map heeft die bereikbaar is.
Dus wat ik zelf als een oplossin zie is dat de variabele username gekoppeld wordt aan (zoiets als $user roept bestand $user.php aan)
www.jouwwebsite.nl/piet/index.php ?? Hoe voorkom je dat? Ik bouw snel even een generatortje in unix/linux scripting en fiets alle nederlandse namen langs.....
Hoe veilig is dit dan verder? Ik ben jan maar ik typ in: Wat zijn anders nog veilige oplossingen? Het filemanagement moet afgeschermd worden...dat is zeker...
http://www.osfilemanager.com/ anders zelf even googlen op file manager safe oid
misschien vind je hier een goed php script inclusief beveiliging: Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
if($session->logged_in){
echo "<h1></h1>";
echo "<h4>Welcome <b>$session->username</b>, you are logged in.</h4> <br><br>"
."<a href=\"index.php\">Home</a> "
."<a href=\"userinfo.php?user=$session->username\">My Account</a> "
."<a href=\"useredit.php\">Edit Account</a> ";
if($session->isAdmin()){
echo "<a href=\"admin/index.php\">Admin Center</a> ";
}
echo "<a href=\"process.php\">Logout</a>";
$pagina = $session->username.".php";
include $pagina;
}
else{
/*--- Toon de inlogform---*/
?>
echo "<h1></h1>";
echo "<h4>Welcome <b>$session->username</b>, you are logged in.</h4> <br><br>"
."<a href=\"index.php\">Home</a> "
."<a href=\"userinfo.php?user=$session->username\">My Account</a> "
."<a href=\"useredit.php\">Edit Account</a> ";
if($session->isAdmin()){
echo "<a href=\"admin/index.php\">Admin Center</a> ";
}
echo "<a href=\"process.php\">Logout</a>";
$pagina = $session->username.".php";
include $pagina;
}
else{
/*--- Toon de inlogform---*/
?>
Alleen efficient is het niet. Je moet nu voor elke user een bestand "username.php" aanmaken.
Gewijzigd op 12/11/2012 13:03:08 door Jack Maessen
Wat voor persoonsgebonden informatie moet daar komen dan? Nu moet je idd voor elke gebruiker een 'pagina' maken. Maar anders maak je gewoon een landingpage bijvoorbeeld user.php.
En aan de hand van de database gegevens vul je die met de gebruikers specifieke gegevens.
Het inlogscript maakt gebruik van een database waarin alle members staan met username , password en emailadres
Gewijzigd op 12/11/2012 13:09:57 door Jack Maessen
Anders kom je al snel uit op de wijze die je nu hebt, een pagina met 'statische' informatie.