Gå til innhold

Spørsmål angående overføring av data via POST metoden


Anbefalte innlegg

Hei alle!

takk for at dere hjalp meg med forrige problemet mitt.

 

nå viser det seg at jeg ikke får tak i data via POST-metoden

 

si jeg har denne kodebiten..

 

<form action="$PHP_SELF" method="post">

Antall: <input type="text" name="addqty" size="3"

value="1">

<input type="hidden" name="additem" value="$vareid">

<input type="submit" value="Legg til i handlevogn">

</form>

 

som kaller seg selv med additem og addqty som variable

i boken min her står det at jeg skal kunne få tak i de verdiene bare ved å skrive $additem eller $addqty, men det går ikke.

prøvde også _GET("additem"), men får fortsatt ingen verdi

 

hvis jeg trykker på reload knappen i nettleseren så får jeg spørsmål om å prøve å sende dataene til siden på nytt igjen, så det betyr jo at noe blir faktisk sendt over. men hvordan jeg skal lese dette har jeg ikke funnet ut ennå. noen forslag?

 

som dere ser så prøver jeg å lage en nettbutikk.. :=) lite hobbyprosjekt.

Lenke til kommentar
Videoannonse
Annonse

Dersom man bruker $_POST[VAR], leses vel VAR som en kontstant..? (definert med define() funksjonen)

 

Det er fordi det ikke er en bug men en feature. Det er slik det skal fungere.

 


<?php

Define(VAR, "Variabel");

echo $_POST[VAR]; //Disse to er like

echo $_POST[Variabel]; //Disse to er like

?>

Lenke til kommentar

Why is $foo[bar] wrong?

You should always use quotes around an associative array index. For example, use $foo['bar'] and not $foo[bar]. But why is $foo[bar] wrong? You might have seen the following syntax in old scripts:  

 

copy to clipboard

$foo[bar] = 'enemy';  

echo $foo[bar];  

// etc  

This is wrong, but it works. Then, why is it wrong? The reason is that this code has an undefined constant (bar) rather than a string ('bar' - notice the quotes), and PHP may in future define constants which, unfortunately for your code, have the same name. It works, because the undefined constant gets converted to a string of the same name automatically for backward compatibility reasons.  

 

As stated in the syntax section, there must be an expression between the square brackets ('[' and ']'). That means that you can write things like this:  

 

Lenke til kommentar

Jeg har aldri (ihvertfall i senere tid :D) skrevet $_POST[index_name]... Er som Pingle påpeker, pluss at dette vil bare generere masse warnings om et eller annet med undefined constant. Man kan fint bruke echo "Name = $_POST[name]"; som blir der samme som echo "Name = ".$_POST['name'];

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...