Jag har just installerat WAMP på min bärara dator (Apache 2.0 och PHP5). Tidigare har jag haft apache(1.1.13(?)) och php 4 på en gammal burk. Där har jag några webbplateser som jag vill spara (skolprojekt) Dessa innehåller PHP och är kopplade till en AcessDB. Installationen har fungerat bra, men nu är problemet att formulär inte fungerar. PHP:n fungerar men skickar jag ngn info via ett formulär till en annan sida syns inget. Jag minns att jag ändrade något förra gången jag installerade PHP men minns inte vad och var, kan ngn hjälpa mig?
konfigurera PHP för POST/GET
8 svar · 408 visningar · startad av Nevvy
Kolla vad du har för inställning i php.ini för register_globals
Om den är satt till ON så kan du hämta en variabel från ett formulär med enbart variabelnamnet
$nyVariabel = $variabelFrånFormuläret;
Om den är satt till OFF så gäller lite annat
$nyVariabel = $_POST['variabelFrånFormuläret'];
Verkar som inställningen är OFF (vilket du egentligen bör ha) men att du har gjort dina skript för inställningen ON (rekommenderas inte).
/red Jaha då skrev man för mycket så nån annan hann före. :p
Borde inför att någon annan "håller på att skriver ett meddelande" så man ser att någon håller på och skriver hehe.
Tack det fungerade! men varför bör man inte göra skripten på det viset?
En ren säkerhetsgrej.
Om du har register_globals ON så vet du inte om variabeln kommer från ett formulär eller adressfältet.
Ha för vana att alltid använda $_POST['var'] och $_GET['var'] så funkar skripten på båda inställningarna så slipper du göra om allt om du byter webhotell eller liknande som inte har samma inställning som den innan.
Dessutom kör de flesta webbhotell med OFF som rekommenderas.
Nevvy skrev:
Tack det fungerade! men varför bör man inte göra skripten på det viset?
Säg att du i ditt skript har en variabel $foobar som du använder innan du get den något värde, då kan någon enkelt via URL'en (aaa?foobar=test) sätta ett värde på variabeln som kan göra en del oönskade saker med skriptet.
Med det nya sättet så kan man inte utifrån påverka dom vanliga variablerna utan endast dom som finns i $_POST, $_GET och $_REQUEST.
/red: något långsam! :)
/red2: En lösnings man kan använda för att slippa ändra i sina gamla skript är att för sina formulär variabler köra först i sina skript:
$aaa=$_POST['aaa'];
$bbb=$_POST['bbb'];
$ccc=$_POST['ccc'];
Då har man åtminstonne koll på vilka variabler som kommer utifrån och man kan inte utifrån skriva i variabler som inte är listade.
Japp posta gärna scriptet här annars så kan vi hjälpa dig att få igång det på ett korrekt sätt.
tackar för all hjälp!
Nu skall jag se om jag kan fixa skripten (när jag hinner...) Annars får ni höra frnmig igen! :)