Vraag & Antwoord

Webprogrammeren & scripting

[htaccess] Mooie url, maar DB interactie nodig

4 antwoorden
  • Hallo, Ik zit met het volgende probleem: Mijn website heeft user profiles, maar alles wordt door de index geregeld. Een profiel opvragen gaat dan via 'http://www.voorbeeld.nl/index.php?option=profiel&taak=show&user=$id' Wat ik eigenlijk wil is het volgende: Ik wil een url 'http://www.voorbeeld.nl/$username' aan kunnen roepen. Het probleem hierbij is dat ik bij zo'n url enkel de username meegeef en de andere link een id verwacht. Ik heb al een zoektocht op het internet gehouden en kwam onder andere bij [url=http://www.webmasterworld.com/forum92/5788.htm]dit[/url] uit. Echter als ik het volgende zou doen: * via htaccess een RewriteRule van http://www.voorbeeld.nl/(.*) naar http://www.voorbeeld.nl/user.php?username=$1 * Vervolgens via het php script de id bij de username zoeken en meegeven aan het profiel url Dan komt er toch alsnog 'http://www.voorbeeld.nl/index.php?option=profiel&taak=show&user=$id' in mijn adresbalk te staan? In short zoek ik dus het volgende: * Een url cloak die middels de username de id van de user op kan halen en aan de hand daarvan het profiel kan laten zien. Ik snap ook dat dit waarschijnlijk een combinatie van htaccess en PHP zal worden, maar dat is in principe niet erg. Bestaat dit of heeft iemand een voorbeeld?
  • Over HTacces weet ik weinig, maar dat php moet wel lukken. Je moet wel al een connectie met de database hebben en zeker weten dat de naam uniek is. Dus dat er geen twee zijn in dezelfde database. [code:1:d223ab656d] $naam = $_GET['naam']; //Haal de gebruikersnaam op. $query="SELECT * FROM gebruikers WHERE naam='$naam'"; // Selecteer alles uit gebruikers waar de naam gelijk is aan de variable naam. $result=mysql_query($query); //Voer de query uit. $row = mysql_fetch_array($result); //Verkrijg de resultaten. $id = $row['id']; //En hier is je ID [/code:1:d223ab656d]
  • Thanks, dat stukje was ook het min of meer bekende stukje. Daarna komt de hoofdzaak pas: Zorgt de htaccess ervoor dat de url 'http://www.voorbeeld.nl/$username' blijft of zie je gewoon eerst 'http://www.voorbeeld.nl/$username' door de rewriteRule veranderen in 'http://www.voorbeeld.nl/user.php?u=$username' en vervolgens toch nog in 'http://www.voorbeeld.nl/index.php?option=profiel&taak=show&user=$id'? Want dat is dus iets wat ik [u:6866b3b1ba]niet[/u:6866b3b1ba] wil.
  • De rewriterule zal je adres niet wijzigen. Alleen op de webserver zelf zal de aanroep worden 'herschreven' naar het formaat wat je hebt opgegeven.

Beantwoord deze vraag

Weet jij het antwoord op deze vraag? Registreer of meld je aan met je account

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.