Erg vreemde PHP fout

Gestart doorWiitse14 reacties39 weergaven

15 berichten · pagina 1 van 1

Wiitse

Lid · Topicstarter

Berichten
6.722
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Ik heb een erg vreemd probleem in mijn script.

.htaccess

RewriteEngine On

RewriteRule ^(|/)$ index.php?pagename=home [L]
RewriteRule ^([^/]+)(|/)$ index.php?pagename=$1 [L]


index.php

[COLOR= #0000BB]<?php[/COLOR]
[URL="http://www.php.net/include"]include[/URL] [COLOR= #007700]([/COLOR][URL="http://www.php.net/isset"]isset[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$_GET[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]pagename[/COLOR][COLOR= #007700]]) &&[/COLOR] [URL="http://www.php.net/file_exists"]file_exists[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]pages/[/COLOR][COLOR= #007700].[/COLOR]htmlentities[COLOR= #007700]([/COLOR][COLOR= #0000BB]$_GET[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]pagename[/COLOR][COLOR= #007700]]).[/COLOR][COLOR= #DD0000].php[/COLOR][COLOR= #007700])) ?[/COLOR] [COLOR= #DD0000]pages/[/COLOR][COLOR= #007700].[/COLOR]htmlentities[COLOR= #007700]([/COLOR][COLOR= #0000BB]$_GET[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]pagename[/COLOR][COLOR= #007700]]).[/COLOR][COLOR= #DD0000].php[/COLOR] [COLOR= #007700]:[/COLOR] [COLOR= #DD0000]404.php[/COLOR][COLOR= #007700];[/COLOR]
[URL="http://www.php.net/echo"]echo[/URL] [COLOR= #0000BB]$_GET[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]pagename[/COLOR][COLOR= #007700]];[/COLOR]
?>


Het probleem is dat hij altijd denkt dat $_GET[pagename] de waarde index.php heeft. Dat slaat toch nergens op? Hoe los ik dit op?
0
Berichten
13.482
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
RewriteEngine On

RewriteRule ^(|/)$ index.php?pagename=home
RewriteRule ^([^/]+)(|/)$ index.php?pagename=$1 [L]

zoiets... ?
0
Wiitse

Lid · Topicstarter

Berichten
6.722
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Geeft geen verschil.
0
Berichten
3.788
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Dat komt omdat die eerste regel altijd klopt!
Wat je daar zegt: Als er een request is, en er is altijd een request, ookal staat er dan nog wat achter!
0
Wiitse

Lid · Topicstarter

Berichten
6.722
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Hoe moet ik het dan doen? En dat verklaard niet waarom hij altijd denkt dat $_GET[pagename] index.php is.
0
Berichten
3.788
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Door het aan te passen, je moet het anders doen.
Je moet de default, in dit geval home, via php doen:

RewriteEngine On
RewriteRule ^([^/]+)(|/)$ index.php?pagename=$1 [L]


[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]$_GET[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]pagename[/COLOR][COLOR= #007700]])){[/COLOR]
    [URL="http://www.php.net/include"]include[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]pages/home.php[/COLOR][COLOR= #007700]);
}[/COLOR]
[URL="http://www.php.net/else"]else[/URL][COLOR= #007700]{[/COLOR]
    [URL="http://www.php.net/include"]include[/URL] [COLOR= #007700]([/COLOR][URL="http://www.php.net/file_exists"]file_exists[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]pages/[/COLOR][COLOR= #007700].[/COLOR]htmlentities[COLOR= #007700]([/COLOR][COLOR= #0000BB]$_GET[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]pagename[/COLOR][COLOR= #007700]]).[/COLOR][COLOR= #DD0000].php[/COLOR][COLOR= #007700])) ?[/COLOR] [COLOR= #DD0000]pages/[/COLOR][COLOR= #007700].[/COLOR]htmlentities[COLOR= #007700]([/COLOR][COLOR= #0000BB]$_GET[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]pagename[/COLOR][COLOR= #007700]]).[/COLOR][COLOR= #DD0000].php[/COLOR] [COLOR= #007700]:[/COLOR] [COLOR= #DD0000]404.php[/COLOR][COLOR= #007700]));
}[/COLOR]
?>
0
Wiitse

Lid · Topicstarter

Berichten
6.722
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Dat geeft geen verschil.

EDIT:// Hij werkt wel als ik in de htaccess alle paginas los erin zet zoals dit:

RewriteEngine On

RewriteRule ^home(|/)$ index.php?pagename=home [L]
RewriteRule ^test(|/)$ index.php?pagename=test [L]


Ik heb alleen geen zin om dit bij alle paginas te doen dan.
0
Berichten
970
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Misschien kun je gebruik maken van Zend Framework, of is dat nog iets te moeilijk?
0
Wiitse

Lid · Topicstarter

Berichten
6.722
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Wat heeft een compleet programma hier nou weer mee te maken?
0
Berichten
3.225
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Misschien door include isset($_GET[pagename]), misschien moet je dat gewoon $_GET[pagename] maken?
0
Wiitse

Lid · Topicstarter

Berichten
6.722
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Praat aub niet over dingen war je geen verstand van hebt.
Afbeelding

Het probleem ligt in de htaccess. Het werkt wel als ik voor elke pagina een nieuwe regel maak. Ik doe dat dan maar.
0
Berichten
3.225
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
LOL, ben je beetje chaggy? Ik probeer alleen te helpen hoor -.-"
0
Wiitse

Lid · Topicstarter

Berichten
6.722
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Streedie schreef:
LOL, ben je beetje chaggy? Ik probeer alleen te helpen hoor -.-"
Sorry dat ik zo overkom, maar zeg alsjeblieft gewoon geen dingen waarvan je zelf niet van weet of het kan helpen of niet. wink
0
Berichten
3.788
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Je weet zelf ook niet waar je het over hebt.
Jouw script in de htaccess klopt gewoon niet, en ik zou het ook niet zo doen, dat heb ik al eerder gezegd...
0
Berichten
327
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
mijn .htaccess is dit: misch dat het helpt:

Options FollowSymLinks MultiViews
RewriteRule ^home index.php
RewriteEngine On
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