Door
Rinus Schuurman
op 17-09-2010 10:06
gewijzigd op 17-09-2010 10:07
2.321 views
Waarschijnlijk is er een simpel antwoord mogelijk op mijn volgende vraag, maar ik kom er niet op :).
Ik heb een inlog script op mijn site staan, waar gebruiker X na het inloggen op een persoonlijke pagina komt - pagina_X.php bijv..
Dit werkt allemaal prima, er is alleen één maar!
Wanneer gebruiker X ingelogd is, kan deze door simpelweg de URL te veranderen naar bijv. pagina_Y.php op de persoonlijke pagina van gebruiker Y komen en dat is uiteraard niet de bedoeling.
Is er iemand die mij hiermee verder kan en wil helpen?!
Dit is een voorbeeld van de persoonlijke pagina van gebruiker X
<?php
session_start();
if ($_SESSION['username'])
echo "Welkom, ".$_SESSION['username']."!<br><a href='logout.php'>Logout</a>";
else
die("U moet aangemeld zijn om deze pagina te kunnen bekijken!");
?>
<p>Hier komt dan de info welke alleen voor de ogen van deze gebruiker bedoeld is.</p>
Je zult gewoon een table hebben met pdf_facturen
id
user_id
filename
path
en voor filenames gebruik je dan bijvoorbeeld:
<factuurvolgnummer:n4>_<datum:n8>.pdf
dus dan kan je gewoon aan de hand van het user_id de bijbehorende facturen tonen
Misschien een beetje domme vraag, maar waar staat :n4 en :n8 voor, welke respectievelijk achter factuurvolgnummer en datum staan?
[size=xsmall]Toevoeging op 20/09/2010 14:08:58:[/size]
Hoe voorkom ik trouwens dat er 2 of meer personen registreren met de zelfde gebruikersnaam?
Op dit moment is het namelijk zo dat ik twee test personenen kan laten registreren met de zelfde inlognaam en wachtwoord, dat moeten we natuurlijk niet hebben :)
[size=xsmall]Toevoeging op 21/09/2010 12:05:10:[/size]
voorkomen van 2 of meer gebruikers met de zelfde gebruikersnaam is inmiddels verholpen op de volgende manier:
<?php
//controleer of de ingevulde gebruikersnaam niet al bestaat in de database
$connect = mysql_connect("localhost","dbusername","password");
mysql_select_db("databasename");
$query = mysql_query("SELECT * FROM users WHERE user='$username'");
if(mysql_num_rows($query) != 0)
{
echo "Deze gebruikersnaam is reeds in gebruik!";
}
else
{
//verder gaan met het script!
}
?>