Just nu i M3-nätverket
Gå till innehåll

$_GET och $_POST trubbel


Magnus Bonnevier

Rekommendera Poster

Magnus Bonnevier

hej gott folk!

 

Här kommer ännu en fråga till alla PHP experter.

 

det är så att när jag i en kod för att ta ett exempel:

 

<?PHP if ( $_GET['showdata'] == "yes" ) { ?>

 

<?PHP echo( $_GET['data'] ); ?>

 

<?PHP } elseif ( $_POST['showdata'] == "yes" ) { ?>

 

<?PHP echo( $_POST['data'] ); ?>

 

<?PHP } else {?>

<?PHP } ?>

 

 

När jag skickar variabler i en URL till koden typ:

http://index.php?data=hejsan&showdata=yes

 

Då fungerar det.

 

Men om jag skickar med POST ifrån ett förmulär

då struntar han i min variabel showdata=yes

och inget händer.

Har naturligtvis fält som heter data

och ett dolt som heter showdata med value yes.

method är POST.

 

Men när jag blandar $_GET och $_POST i en kod

så tycks det inte fungera ordentligt?

 

Hur kommer det sig eller tänker jag fel?

Vill inte behöva andvända GET i ett formulär!

 

mvh, Magnus Bonnevier.

 

 

[inlägget ändrat 2003-04-03 15:37:33 av Magnus Bonnevier]

Länk till kommentar
Dela på andra webbplatser

Jag är inte helt säker på att jag förstått frågan.

 

Variabler som läggs i adressraden tex sida.php?var=hej&var2=tja kommer man åt med $_GET.

 

Skickar du variabler från ett formulär med metoden POST så kan du bara komma åt dem med $_POST och inte $_GET.

 

 

_________

TicoRoman - The One And Only

 

Länk till kommentar
Dela på andra webbplatser

Magnus Bonnevier

Hej Tico!

 

Jo det förstår jag.

 

Men saken var det att i kod exemplet så struntar

koden i min variabel om jag använder POST i samma

kod där det finns en funktion som ativeras med GET.

 

Varför?

 

Länk till kommentar
Dela på andra webbplatser

Vänta nu, menar du att den aldrig går in i elseif ($_POST['showdata'] == "yes") OM if ($_GET['showdata'] == "yes") är sant? Det ska den inte göra, den ska bara gå in där om första villkoret inte stämmer.

 

Typ:

//Om variabeln showdata i adressfältet är yes
if ($_GET['showdata'] == "yes")
{
echo $_GET['data'];
}
//OM INTE ovanstående villkor stämmer, kolla om det finns
//en POSTad variabel showdata med värdet yes
elseif ($_POST['showdata'] == "yes")
{
echo $_POST['data'];
}
//om ingen av ovanstående villkor stämmer
else
{
}

 

Äsch mycket möjligt att jag missförstått igen (om så är fallet: sorry), är lite seg idag.. :(

 

 

_________

TicoRoman - The One And Only

 

[inlägget ändrat 2003-04-03 15:58:09 av TicoRoman (Almir)]

Länk till kommentar
Dela på andra webbplatser

En annan lösning skulle vara att använda sig av $_REQUEST["showdata"].

Den kombinerar GET och POST-variablerna.

 

Sedan kan du faktiskt använda dig av både GET och POST variabler i ett formulär också.

Om <form>-taggen har action="skript.php?showdata=yes" och method="POST" så kommer du alltid komma åt showdata med GET, och restrerande formulärvariabler med POST.

 

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...