Versio

Handmatig GET array vullen

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

BHosted Hosting al vanaf € 1,- per maand

Controleer nu gratis jouw domeinnaam:

  

PHP script bestanden

  1. handmatig-get-array-vullen

 

5 reacties op 'Handmatig GET array vullen'

PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Mitch
Mitch
9 jaar geleden
 
0 +1 -0 -1
argc & argv zijn daar niet voor bedoeld ;)
Maak je eigen vars :)
Johan
Johan
9 jaar geleden
 
0 +1 -0 -1
apart script... ik zouw niet weten waarvoor je het moet gebruiken.....
Johan
Johan
9 jaar geleden
 
0 +1 -0 -1
leg uit... :)
Richard van Velzen
Richard van Velzen
9 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
Pieter van Linschoten
Pieter van Linschoten
8 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.

  • Labels
  • Geen tags toegevoegd.
Get Adobe Flash player