Handmatig GET array vullen

Door Richard van Velzen, 24 jaar geleden, 5.305x bekeken

Met dit script kun je bijvoorbeeld bij een 404 pagina script je GET array laten vullen...

als je bijvoorbeeld iets wilt als www.jousite.com/forum?mode=view etc.
dan wordt de GET array niet gevuld en kun je dus niks doen.

daar heb ik het volgende op bedacht:
je neemt de REQUEST_URI, en neemt daar het 2e deel van. deze deel je op en je het een GET array:D

ik heb een voorbeeld, daar kun je gewoon een get array achter zetten en het word automatisch gedaan:D have fun:P

UPDATE: ff paar aanpassingen gemaakt zodat argv en argc echt leeg zijn als er geen _GET is:D

//UPDATE: je kunt nu zelf instellen welke chars je wil splitten

Gesponsorde koppelingen

PHP script bestanden

  1. handmatig-get-array-vullen

 

Er zijn 5 reacties op 'Handmatig get array vullen'

PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Mitch X
Mitch X
24 jaar geleden
 
0 +1 -0 -1
argc & argv zijn daar niet voor bedoeld ;)
Maak je eigen vars :)
Johan
Johan
24 jaar geleden
 
0 +1 -0 -1
apart script... ik zouw niet weten waarvoor je het moet gebruiken.....
Johan
Johan
24 jaar geleden
 
0 +1 -0 -1
leg uit... :)
Richard van Velzen
Richard van Velzen
24 jaar geleden
 
0 +1 -0 -1
@Mitch: als je bijvoorbeeld een 404.php hebt die ervoor zorgt dat je phpinfo.php als phpinfo?dit=dat kun aanroepen worden die vars NIET automatisch gevuld:D ik kan t weten ik heb het getest:D

@Johan:

Als je dus bijvoorbeeld in je htaccess hebt staan ErrorDocument 404 /404.php, dan kun je daarin neerzetten:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<?php
 // de get arrays legen
 $HTTP_GET_VARS = $_GET = array();
 // de request URI goed zetten als dit niet gebeurt
 $REQUEST_URI = $_SERVER['REQUEST_URI'];
 $url = explode('?', $REQUEST_URI);
 // PHP_SELF variabele vullen
 $_SERVER['PHP_SELF'] = $PHP_SELF = $url[0];
 // QUERY_STRING variabele vullen
 $_SERVER['QUERY_STRING'] = $QUERY_STRING = $url[1];

 // nu gaan we de hele get array uitlezen
 $gets = explode('&', $QUERY_STRING);
 // argument count var aanmaken
 $_SERVER['argc'] = count($gets);
 for($i = 0; $i < count($gets); $i++) {
 $gets_sep = explode('=', $gets[$i]);
 $_REQUEST[$gets_sep[0]] = $gets_sep[1];
 $HTTP_GET_VARS[$gets_sep[0]] = $_GET[$gets_sep[0]] = $gets_sep[1];
 // argument values opbouwen
 $_SERVER['argv'][] = $gets[$i];
 }


 if(preg_match('/phpinfo/i', $REQUEST_URI)) {
   include('./phpinfo.php');
 }
elseif(preg_match('/forum/i', $REQUEST_URI)) {
   include('./forum.php');
 }
else {
   die("404 Error: Page Not Found");
 }

?>


dan worden alle variabelen gevuld, aangezien dit zonder mod_rewrite niet wordt gedaan automatisch heb ik via phpinfo() alle niet in dit geval gevulde variabelen in het script gezet:D
PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Pieter van Linschoten
Pieter van Linschoten
23 jaar geleden
 
0 +1 -0 -1
Ik heb iets heel anders... Ik heb gewoon met META Refresh op 0 seconden naar index.php?page=404 gezet...

das simpeler...

Om te reageren heb je een account nodig en je moet ingelogd zijn.

Inhoudsopgave

  1. handmatig-get-array-vullen

Labels

  • Geen tags toegevoegd.

Navigatie

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.