Ik wilde een oefening uit mijn php-boek maken dat ging over formulieren.
In eerste instantie kreeg ik de parameters niet over gestuur van het ene naar het andere formulier.
Ik herrinnerde me dat dit iets met globals in php.ini had te maken, en besloot globals op on te zetten.
php.ini echter waarschuwd dat dit veiligheidsproblemen kan geven en zegt dat je zo moet programmeren dat globals op off kunnen blijven staan.
Maar als je van het ene formulier naar het andere formulier parameters wilt sturen kan je toch bijna niet anders ?

Joop.
Globals on levert in een slecht geschreven script. Het niet gebruiken van super globals een veiligheids risco. Daarom zeg ik ook altijd er aan wennen te gebruiken. En ik zie daarom geen reden om de globals on te gebruiken als je toch niet gebruikt.

Voorbeeld:

Login script
<?php
if($admin == 1){
echo 'Admin';
}
?>
Je wilt je website veilig hebben dus je maakt gebruik van sessies en die hele elende. Maar als ik als gebruiker de website als

http//www.mijndomein.nl/index.php?admin=1 ben ik ook ingelogd.
Met Super Globals moet ik de gegevens op vragen doormiddel van:
<?php
if($_SESSION['admin'] == 1){
echo 'ingelogd';
}
?>
http//www.mijndomein.nl/index.php?admin=1
werkt nu niet meer.

Nu moet je er alleen nog op letten dat ook voor GET (Gegevens uit een url op vragen) en POST (Uit een formulier) ook superglobals bestaan. En dus op moet vragen respetivielijk via:
$_GET['var'] en $_POST['var'].
Ik heb het even goed tot me door laten dringen en ik denk dat ik het begrijp.
Als ik dus method='post' gebruik kan ik de parameter lezen met $_POST['var'] zonder dat ik globals op on heb staan.

joop.
Jep
Mss wel stom dat ik hier op reageer, maar dit is dus zoals het hoort, een duidelijke vraag kan een duidelijk antwoord krijgen :)
idd, dat zie je helaas veel te weinig hier.
vragen :(

het enige dat je ziet is, kijk mijn site/script
het werkt niet? weten jullie wat het is?
Ja ik ben ook wel blij met de duidelijke antwoorden.
Het meest goede ervan is dat je gelijk leert om netjes te programmeren of scriptschrijven.
Dat kan je beter in je leerfase aanleren dan achteraf, dan loop je eigenlijk altijd een stap achterop.


Joop.
Voor de meelezende newby's onder ons wil ik nog het volgende opmerken :
Als je Super Globals gebruikt en je wilt er bv iets mee printen moet je de hele zooi wel tussen accolades gooien, b.v.

print "Thank you {$_POST['title']} for your response.<br/>";

Doe je dat niet blijft het een drama :-).

Joop.
Of nog beter, de variabelen buiten de quotes zetten :)
En in plaats van print echo gebruiken, vanwege snelheid enzo.
Print heeft geen enkel voordeel maar is wel langzamer.
Op deze manier dus:
<? echo 'Thank you '.$_POST['title'].' for your responce.<br />'; ?>
hmmmmz.....
Ik vond die accolades net zo mooi in m'n scriptje :-x


Joop.

Reageren