hoi
ik ben bezig met het vernieuwen van een profielensite
Maar nu loop ik tegen een probleem aan
Me opdracht geven wil www.sitenaam.nl/gebruikersnaam ipv www.sitenaam.nl/profile.php?blablabla
Maar de site haalt met GET de user id uit de URL (voorbeeld: profile.php?user_id=23). als ik /gebruikersnaam ga gebruiken dan heb ik de user id niet meer om het profiel uit de database te selecteren.
Nu is mijn vraag, weet iemand een manier om toch de user id te krijgen en daarmee het profiel uit de database te selecteren?
Nee, die is er niet. Duik er gewoon even in, zo moeilijk is het niet.
1) Jij maakt een link aan, bv. : profile/view/1/
2) htaccess gaat dit herschrijven naar: profile.php?act=view&user_id=1
3) Jouw php-script gaat met $_GET['act'] en $_GET['user_id'] aan de slag
En hoe ga je dan onderscheid maken met andere urls? Dat zul je vantevoren wel moeten bedenken!
RewriteRule ^/(.*)/$ profile.php?user_name=$1 [L]
nu worden álle urls /blablabla/ gezien als username's. Dat kan, maar dan moet je wel heel zeker weten dat je hier nooit mee in de problemen komt. Persoonlijk zou ik bv. voor een username al minimaal 4 karakters en uitsluitend letters en cijfers accepteren. Dan krijg je zoiets:
RewriteRule ^/([a-z0-9]{4,})/$ profile.php?user_name=$1 [NC,L]
kortere content of met andere karakters kun je dan voor andere pagina's gaan gebruiken.
Edit: Bedenk van te voren hoe je urls eruit moeten komen te zien en welke varianten er allemaal zijn. Schrijf vervolgens een functie die de juiste urls aanmaakt en gebruik voortaan overal deze functie om de boel aan te maken. Dan weet je honderd procent zeker dat alle urls op dezelfde (evt. foute) wijze worden aangemaakt. Mocht je dan een fout tegenkomen, dan zit die in de functie en nergens anders.
Vervolgens ga je de benodigde .htaccess schrijven en testen met eenvoudige hardcoded content. Wanneer dan alles goed is, ga je de applicatie bouwen en de boel voorzien van dynamische content.