[PHP] Betere urls met PARAM

Gestart doorShahiem4 reacties155 weergaven

5 berichten · pagina 1 van 1

Shahiem

Lid · Topicstarter

Berichten
20.364
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Hi,

Vond dit wel leuk en handig om even te posten, ik zal jullie even wat uitleggen over hoe je mooiere urls krijgt i.p.v te werken met htacces.

Htacces rewrite url is makkelijk wanneer je al een pagina systeem hebt en geen zin hebt om het om te bouwen. Met de script die ik jullie zo geef is het wel van belang dat je een paar punten wijzigt als je gebruik maakt van bijvoorbeeld $_GET[].

We zetten eerst dit in een bestand (Die je natuurlijk moet oproepen met include), we noemen ons bestand dan maar gewoon config.php

[COLOR= #0000BB]<?php[/COLOR]
[COLOR= #FF8000]// Oproepen van locatie script (Dus waar je straks de params voor gaat gebruiken), met strlen(dirname($_SERVER[SCRIPT_NAME]))) roept hij je map op en bestandnaam en dan komt er het aantal tekens uit.[/COLOR]
[COLOR= #0000BB]$path[/COLOR]  [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/substr"]substr[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$_SERVER[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]REQUEST_URI[/COLOR][COLOR= #007700]],[/COLOR] [URL="http://www.php.net/strlen"]strlen[/URL][COLOR= #007700]([/COLOR][URL="http://www.php.net/dirname"]dirname[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$_SERVER[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]SCRIPT_NAME[/COLOR][COLOR= #007700]])));[/COLOR]  

[COLOR= #FF8000]// Hier verkot hij je param[/COLOR]
[COLOR= #0000BB]$param[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/substr"]substr[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$path[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]1[/COLOR][COLOR= #007700]);[/COLOR] 

[COLOR= #FF8000]// Hier haalt hij de tekens / weg[/COLOR]
[COLOR= #0000BB]$param[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/explode"]explode[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]/[/COLOR][COLOR= #007700],[/COLOR] [URL="http://www.php.net/trim"]trim[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$path[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #DD0000]/[/COLOR][COLOR= #007700]));[/COLOR]
?>


Als je dat hebt toegevoegd dan gaan we nu aan de slag met de urls.

[COLOR= #0000BB]<?php[/COLOR]
[URL="http://www.php.net/if"]if[/URL][COLOR= #007700]([/COLOR][URL="http://www.php.net/isset"]isset[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$param[/COLOR][COLOR= #007700][[/COLOR][COLOR= #0000BB]1[/COLOR][COLOR= #007700]]))
{[/COLOR]
    ?>
    param 1
    [COLOR= #0000BB]<?php[/COLOR]
[COLOR= #007700]}[/COLOR]
?>


Met deze code gaat je link er zo uit zien: http://url.nl/param1/ . Bij het dikgedrukte kan je ook iets anders invullen omdat je geen gebruik maakt van een query dus dan controleert hij ook niet over je woord bestaat.

[COLOR= #0000BB]<?php[/COLOR]
[URL="http://www.php.net/if"]if[/URL][COLOR= #007700]([/COLOR][URL="http://www.php.net/isset"]isset[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$param[/COLOR][COLOR= #007700][[/COLOR][COLOR= #0000BB]2[/COLOR][COLOR= #007700]]) &&[/COLOR] [COLOR= #0000BB]$param[/COLOR][COLOR= #007700][[/COLOR][COLOR= #0000BB]1[/COLOR][COLOR= #007700]] ==[/COLOR] [COLOR= #DD0000]luie-varken[/COLOR][COLOR= #007700])
{[/COLOR]
    ?>
    param 1
    [COLOR= #0000BB]<?php[/COLOR]
[COLOR= #007700]}[/COLOR]
?>


Als je dit nu gebruikt dan komt je link er zo uit te zien: http://url.nl/luie-varken/param2/. Dus het lijkt veel op $_GET maar dan hoef je geen ?paramater= voor je link te gebruiken.

Hopelijk hebben jullie er wat van geleerd, als ik iets fout heb dan mogen jullie dat natuurlijk verbeteren. Als je nog hulp nodig hebt hoor ik dat ook graag. smile
Gegroet,
Shahiem
0
Berichten
1.479
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Lijkt me echt handig! Ik ga het testen op mijn website!
0
Berichten
5.957
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Kan je toch ook htaccess voor gebruiken?

*edit*

Ow dat zeg je zelf al yummie
*edit2*

Ik snap eigenlijk niet goed hoe het werkt.
Stel je script staat op domein.nl en je gaat naar domein.nl/nieuws dan ga je toch naar de folder nieuws? Dan wordt je parameter script toch niet aangeroepen?
0
Erik

Lid

Berichten
7.109
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Nee, inderdaad. Dat is gewoon een bestand nieuws.php waarmee je met htaccess de .php weghaald.
0
Berichten
3.314
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
/nieuws en /nieuws/ is ook nog anders he yummie
Je zegt zelf dat het ook met htaccess kan maar waarom zou dit dan beter zijn?
0

Jouw reactie

Deel je idee, stel een vraag of help een ander verder.

Editor laden…

Praat mee met de One2xs-community.

Inloggen om te reageren