Link van gebruiker
Ik wil graag voor iedere gebruiker een eigen profiel-pagina die iedereen kan zien (Er zit geen gevoelige informatie in). Dus dat de gebruiker 'Luuk' zijn eigen profiel krijgt met de link www.JOUWDOMEIN.nl/profiel/Luuk en dan bij de gebruiker 'Rob' dat die de link www.JOUWDOMEIN.nl/profiel/Rob krijgt met zijn informatie en dit dus bij elke gebruiker die in de database staat. Dus netzo als bij deze website, dat iedere gebruiker een eigen profiel heeft met een eigen url. Enig idee hoe dit moet? Bedankt!
Gewijzigd op 13/12/2016 16:03:00 door - Rob -
Slugs moeten uniek zijn. Dat wil zeggen dat er geen twee keer een slug 'rob' mag voorkomen. Want stel dat je twee gebruikers hebt die beiden de username Rob hebben dan weten we niet meer welke Rob we bedoelen met http://www.jouwdomein.nl/profiel/rob.
Het beste kun je een kolom met de naam 'slug' toevoegen aan je tabel 'users' en maakt die unique. Vervolgens moet je dan natuurlijk wel telkens de slug kolom automatisch bij werken. Om deze bij te werken pak je dan de username en maak je die url proof.
In url's mogen namelijk maar een beperkt aantal karakters gebruikt worden. Hier op stackoverflow vindt je een handige functie om namen om te buigen naar slugs.
Ik zou de slugs en ook de hele url altijd lowercase laten.
Verder gebruik je zogenaamde user friendly urls. Dus in plaats van http://www.jouwdomein.nl/profiel.php?slug=rob wil je http://www.jouwdomein.nl/profiel/rob gebruiken. Hiervoor moet je minimaal met behulp van een .htaccess bestand http://www.jouwdomein.nl/profiel/rob ombuigen naar http://www.jouwdomein.nl/profiel.php?slug=rob of je moet een frontcontroller dan wel een PHP framework gebruiken. Wil je hierover meer informatie dan zou ik daar even een nieuw topic over starten.
Om het even simpel te houden ga ik nu van de variant http://www.jouwdomein.nl/profiel.php?slug=rob uit.
Je kunt nu in je profiel.php bestand de slug uitlezen door het volgende te doen:
Code (php)
Gewijzigd op 13/12/2016 16:53:34 door Frank Nietbelangrijk
Quote:
Hiervoor moet je minimaal met behulp van een .htaccess bestand http://www.jouwdomein.nl/profiel/rob ombuigen naar http://www.jouwdomein.nl/profiel.php?slug=rob of je moet een PHP framework gebruiken.
Of alles redirecten naar index.php (single point of entry) en daar de REQUEST_URI ontleden.
Het is niet nodig om iets in een querystring te stoppen. Vervolgens heb je dus ook niet per se tig rewriterules nodig.
https://www.addedbytes.com/articles/for-beginners/url-rewriting-for-beginners/
Gebruik ik dit :
Dan wordt :
http://www.nogwat.nl/users/bob
vertaald in :
show_user.php?username=bob
En vervolgens worden de gegevens op de standaardwijze uit de database gehaald en getoond.
Kwam er achter door dit te doen :
http://www.google.nl/search?q=dynamic+display+username+in+url
Frank Nietbelangrijk op 13/12/2016 16:39:05:
Als eerste staan de gebruikersnamen in de linkjes die je als voorbeeld toont. We noemen die data in de url's ook wel slugs.
Slugs moeten uniek zijn. Dat wil zeggen dat er geen twee keer een slug 'rob' mag voorkomen. Want stel dat je twee gebruikers hebt die beiden de username Rob hebben dan weten we niet meer welke Rob we bedoelen met http://www.jouwdomein.nl/profiel/rob.
Het beste kun je een kolom met de naam 'slug' toevoegen aan je tabel 'users' en maakt die unique. Vervolgens moet je dan natuurlijk wel telkens de slug kolom automatisch bij werken. Om deze bij te werken pak je dan de username en maak je die url proof.
In url's mogen namelijk maar een beperkt aantal karakters gebruikt worden. Hier op stackoverflow vindt je een handige functie om namen om te buigen naar slugs.
Ik zou de slugs en ook de hele url altijd lowercase laten.
Verder gebruik je zogenaamde user friendly urls. Dus in plaats van http://www.jouwdomein.nl/profiel.php?slug=rob wil je http://www.jouwdomein.nl/profiel/rob gebruiken. Hiervoor moet je minimaal met behulp van een .htaccess bestand http://www.jouwdomein.nl/profiel/rob ombuigen naar http://www.jouwdomein.nl/profiel.php?slug=rob of je moet een frontcontroller dan wel een PHP framework gebruiken. Wil je hierover meer informatie dan zou ik daar even een nieuw topic over starten.
Om het even simpel te houden ga ik nu van de variant http://www.jouwdomein.nl/profiel.php?slug=rob uit.
Je kunt nu in je profiel.php bestand de slug uitlezen door het volgende te doen:
Slugs moeten uniek zijn. Dat wil zeggen dat er geen twee keer een slug 'rob' mag voorkomen. Want stel dat je twee gebruikers hebt die beiden de username Rob hebben dan weten we niet meer welke Rob we bedoelen met http://www.jouwdomein.nl/profiel/rob.
Het beste kun je een kolom met de naam 'slug' toevoegen aan je tabel 'users' en maakt die unique. Vervolgens moet je dan natuurlijk wel telkens de slug kolom automatisch bij werken. Om deze bij te werken pak je dan de username en maak je die url proof.
In url's mogen namelijk maar een beperkt aantal karakters gebruikt worden. Hier op stackoverflow vindt je een handige functie om namen om te buigen naar slugs.
Ik zou de slugs en ook de hele url altijd lowercase laten.
Verder gebruik je zogenaamde user friendly urls. Dus in plaats van http://www.jouwdomein.nl/profiel.php?slug=rob wil je http://www.jouwdomein.nl/profiel/rob gebruiken. Hiervoor moet je minimaal met behulp van een .htaccess bestand http://www.jouwdomein.nl/profiel/rob ombuigen naar http://www.jouwdomein.nl/profiel.php?slug=rob of je moet een frontcontroller dan wel een PHP framework gebruiken. Wil je hierover meer informatie dan zou ik daar even een nieuw topic over starten.
Om het even simpel te houden ga ik nu van de variant http://www.jouwdomein.nl/profiel.php?slug=rob uit.
Je kunt nu in je profiel.php bestand de slug uitlezen door het volgende te doen:
Bedankt voor deze reactie! Ik hoef niet perse een slug te gebruiken aangezien er maar 1 gebruikersnaam kan zijn met die specifieke naam. Maar zeer handig!