met php versie 4.2.3 en hoger (dacht dat het deze versie was tenminste) kun je niet meer $p gebruiken. Je moet nu $HTTP_POST_VARS["$p"] gebruiken (in statements) en $HTTP_POST_VARS[p] wanneer je het echot. $HTTP_POST_VARS[] kun je dus alleen gebruiken wanneer er een formulier verzonden is. (die de action POST gebruikt).
Wanneer je GET gebruikt in een formulier, of gewoon een linkje naar een pagina gebruikt (bijv. www.domein.nl/pagina.php?p=1) dan moet je $HTTP_GET_VARS[] gebruiken.
Voorbeelden:
<?
// POST
if ($HTTP_POST_VARS["p"])
{
echo "\$p is gezet naar: $HTTP_POST_VARS[p]";
}
?>
En dit met GET dus (precies hetzelfde eigenlijk)
<?
if ($HTTP_GET_VARS["p"])
{
echo "\$p is gezet naar: $HTTP_GET_VARS[p]";
}
?>
Let hier dus op de quotes ("). Dezelfde methode moet je gebruiken met cookies ($HTTP_COOKIE_VARS[]) en sessions ($HTTP_SESSION_VARS[]).
Goed onthouden dus, in if, elseif of andere statements de $HTTP var MET quotes gebruiken en anders dus niet. Ben hier zelf achter gekomen en spreek dus uit ervaring. Weet niet hoe het anders moet of kan maar het werkt zo in ieder geval altijd.
Je zou denken hoe verder PHP ontwikkeld hoe makkelijker het wordt maar NOT!
Dat betekend dus dat ik dan zo'n beetje al mijn pagina (een paar honderd in middels) helmaal moet aanpassen... Ik ga proberen om in het vervolg zo te werken maar ben nog wel opzoek naar een locaal test programma waarbij je gewoon $p kan doen...
Ik ga wel even proberen om een oude versie van phpdev te vinden, als iemand wat anders weet mag die het ook zeggen. Graag zelfs!