modtager ikke værdien fra en input form

Tags:    php html form

Jeg modtager ikke værdien fra en bestemt input form som tastes af brugeren.
Det er linien med fed der er fejl med men hvis jeg sætter en value til f.eks. 1 så kommer værdien med over ?
type=hidden har jeg ingen problemer med..
html fil med form:
Fold kodeboks ind/udHTML kode 


PHP filen:
Fold kodeboks ind/udPHP kode 




Indlæg senest redigeret d. 12.06.2013 18:35 af Bruger #16819
8 svar postet i denne tråd vises herunder
5 indlæg har modtaget i alt 13 karma
Sorter efter stemmer Sorter efter dato
Når dine feltnavne ikke er unikke, vil det altid være værdien fra det sidste felt med sammen navn der bliver brugt. I dette tilfælde er det antal.

Dvs. i dit while() loop, gentager du en masse felter, samt input-feltet med navnet antal. Antager vi at du looper 4 gange, grundet at din SQL resulterer i 4 rækker, vil du derfor have 4 felter med navnet antal. Men(!) det vil kun være det 4. input-felt, hvis værdi er den gældende.

Du kan navngive dine felter som:

antal[<?php echo $id; ?>] eller blot antal[]

da vil du i PHP kunne referere til feltets værdi ved:

$_POST['antal'][$id];

Hvor $id blot referere til din egen kode.

Ovenstående gør sig gældende med alle de andre felter.



I din post skriver du $_POST[antal], men name attributten på i din form hedder koli.
Prøv at ændre det så kommer det



et tip, brug var_dump i stedet for echo mens du debugger :D



Hej Søren.

Jeg skal lige forstå det rigtigt.
Antal feltet skal brugeren selv kunne skrive i feltet?

Har du prøvet at udskrive dine data til skærmen, så du kan se om du får det du forventer?

Kan du ikke smide et dump af din tabel. For tror der går noget galt i din sql.



JA brugeren skal selv udfylde feltet med "antal".
har udskrevet til skærm, men der kommer kun en værdi hvis jeg indsætter value="1" eks.vis.
Det er ikke sql der er noget galt med, da alt andet kommer ind i db som det skal
HEle min html kode:
Fold kodeboks ind/udHTML kode 

og min php fil:
Fold kodeboks ind/udPHP kode 

Kan bare ikke se hvor fejlen er.



Når du ikke kan se nogle fejl, så vil jeg gerne sige til dig LAD være med at bruge "header location", før du har fundet fejlen. det spar dig for tid og hovedepine.

Så derfor bruge "echo" til at udskrive den værdi ud på siden for at se om du få fejl eller andet.

i stede for at ligge dem ind i databasen, så prøve at se om du få skrevet viden på siden altså

Fold kodeboks ind/udPHP kode 


altså på den måde se om den kommer frem med en pris og så bare blive ved og ved, ;)


Håber du kan se hvad jeg mener ;)



Hej Daniel
Tak for dit svar, har forsøgt mig frem og tilbage med løsninger. Alt er rettet tilbage til "antal" i input form samt i php fil.
Desværre med samme resultat, mit db er tomt i dette felt.
hvis jeg ændre min input for til føgende:
Fold kodeboks ind/udPHP kode 

Så indsættes antal 2 i min db. Men retter jeg den manuelt til 3 så indsættes der intet???




JA brugeren skal selv udfylde feltet med "antal".
har udskrevet til skærm, men der kommer kun en værdi hvis jeg indsætter value="1" eks.vis.
Det er ikke sql der er noget galt med, da alt andet kommer ind i db som det skal
HEle min html kode:
Fold kodeboks ind/udHTML kode 

og min php fil:
Fold kodeboks ind/udPHP kode 

Kan bare ikke se hvor fejlen er.



Når dine feltnavne ikke er unikke, vil det altid være værdien fra det sidste felt med sammen navn der bliver brugt. I dette tilfælde er det antal.

Dvs. i dit while() loop, gentager du en masse felter, samt input-feltet med navnet antal. Antager vi at du looper 4 gange, grundet at din SQL resulterer i 4 rækker, vil du derfor have 4 felter med navnet antal. Men(!) det vil kun være det 4. input-felt, hvis værdi er den gældende.

Du kan navngive dine felter som:

antal[<?php echo $id; ?>] eller blot antal[]

da vil du i PHP kunne referere til feltets værdi ved:

$_POST['antal'][$id];
Ovenstående gør sig gældende med alle de andre felter.
Fold kodeboks ind/udHTML kode 


Hvor $id blot referere til din egen kode.

Mange tak for svaret, du har skrevet det meget let forståeligt.
Jeg har navngivet det som name="antal[<?php echo $vare_id; ?>]"
og $_POST: $antal = mysql_real_escape_string($_POST['antal'][$vare_id]);
Det giver fortløbende numre til antal[], MEN Det er stadig det sidste felt i loopet som den henter data fra...
EKS. Feltværdien jeg vælger er 8 men feltværdien fra den sidste post = 12, så er det 12 der hentes..
Fold kodeboks ind/udHTML kode 

Fold kodeboks ind/udPHP kode 






t