Kan någon förklara detta med register_global för en nybörjare,jag vet att det är för att öka säkerheten,men jag har ett skript där det är satt på on,och min server är det off på,så jag behöver ändra koden lite så att det funkar,jag har sökt på detta forum,men hittar inget som jag förstår.(det är mest det var det är jag ska ändra)
register_globals
6 svar · 261 visningar · startad av mr.mainline
Här kan du läsa om register_globals
Men det man måste tänka på är att när man skickar en variabel från en sida till en annan så är det speciellt.
exempel på en länk.
sida.php?namn=mainline
När du ska skriva ut värdet på variabeln $namn
så kan du inte skriva
echo $namn;
utan du måste skriva
echo $_GET['namn'];
Och likadant om variabeln kommer från ett formulär med POST.
echo $_POST['namn'];
Det är det man måste tänka på.
ok,då sk väl detta stämma?
// Visa länk för att lägga till ett nytt inlägg
echo '<a href="'.$_GET[’PHP_SELF’].'?add=1">Nytt inlägg</a><br>';
När man skickar något med en länk så kommer PHP att hitta variabeln i GET-arrayen, typ $_GET['variabel1'].
Hämtar PHP cookies kommer de att läggas i COOKIE-arrayen typ $_COOKIE['variabel2'].
När man postar ett formulär läggs variablerna i POST-arrayen, typ $_POST['variabel3'].
Aktuell sida hittar du SERVER-arrayen som $_SERVER['PHP_SELF'].
Om register_globals är satt kommer dessutom variblerna $variabel1, $variabel2, $variabel3 och $PHP_SELF att finnas i skriptet.
Du bör i vilket fall använda Array-variablerna, då dina skript kommer att fungera både då register_globals är satt eller ej.
Och som sagt, några säkerhetsrisker minskar du samtidigt, men de försvinner inte bara för att du använder dina array-variabler.
[EDIT]Lite sen :)
mr.mainline skrev:
ok,då sk väl detta stämma?
// Visa länk för att lägga till ett nytt inlägg
echo '<a href="'.$_GET[’PHP_SELF’].'?add=1">Nytt inlägg</a><br>';
Vet inte vad du använder för fnuttar runt ditt array-index, men ändra till vanliga apostrofer:
echo '<a href="'.$_SERVER['PHP_SELF'].'?add=1">Nytt inlägg</a><br>';
Och det är nog $_SERVER['PHP_SELF'] du menar.
orginalkoden ser ut så här:
echo '<a href="'.$PHP_SELF.'?add=1">Nytt inlägg</a><br>';
Då ska du ändra till det som matte skrev.
echo '<a href="'.$_SERVER['PHP_SELF'].'?add=1">Nytt inlägg</a><br>';