Post Arrays ?

Tags:    php

Når jeg poster mit array med en form bliver de kun fortolket som:
"r r" istedet for deres rigtige værdier, nogle der ved hvad der går galt?
Kan være at der er en der har prøvet det, som kan sige hvad det kan skyldes, så jeg slipper for at skrive koden ud til jer :)



9 svar postet i denne tråd vises herunder
3 indlæg har modtaget i alt 4 karma
Sorter efter stemmer Sorter efter dato

<input type="radio" name="test" value="$ialt1">
<input type="radio" name="test" value="$ialt2">


Jeg er ret sikker på at når PHP har oversat kilden til HTML er der ikke længere nogle der er klar over at $ialt1/2 er arrays!?!

en hurtig løsning ville være at lave en klasse der kan poste værdierne i arrayet, og som bagefter kan indlæse dem fra $_POST arrayet?

---
Simon



Den 11-08-04 11:41 skrev Larsen følgende:
-----------------------------------------------------------------------------
Når jeg poster mit array med en form bliver de kun fortolket som:
"r r" istedet for deres rigtige værdier, nogle der ved hvad der går galt?
Kan være at der er en der har prøvet det, som kan sige hvad det kan skyldes, så jeg slipper for at skrive koden ud til jer :)
-----------------------------------------------------------------------------
Det er nok noget i din kode...
hvis du har nogen radioknapper skal de se sådan her ud fx.
<input type="radio" name="test" value="1">
<input type="radio" name="test" value="2">

Når man så henter $test vil den enten indeholde 1 eller 2...

ellers skriv noget kode, så er det lidt nemmere at vide hvad du mener :)
- Jim Borch



$_REQUEST["test"] indeholder stringen $ialt1, hvis radio 1 er valgt, og $ialt2 hvis radio 2 er valgt. Hvis $ialt1 eller $ialt2 er en Array går det galt. du må så lave den om til en string.





Hvis man poster et array skal man vist bruge serialize() og unserialize() se:

http://uk.php.net/manual/en/function.serialize.php

men jeg har lade mig fortælle (vistnok på denne side) at det er en designfejl hvis man skulle have brug for at poste arrays og objekter og den slags :)

---
Simon



kigger lige der i manualen men kan lige sige at jeg poster med "radio" men min value er et array, cirka sådan:
<input type="radio" name="test" value="$ialt1">
<input type="radio" name="test" value="$ialt2">

jeg skal bare have 2 værdier igennem samme knap, og de skal kunne bruges hver for sig bagefter.
Men som sagt kigger jeg om jeg kan bruge de der 2 jeg ikke kan se hvad hedder nu..




<input type="radio" name="test" value="$ialt1">
<input type="radio" name="test" value="$ialt2">


Jeg er ret sikker på at når PHP har oversat kilden til HTML er der ikke længere nogle der er klar over at $ialt1/2 er arrays!?!

en hurtig løsning ville være at lave en klasse der kan poste værdierne i arrayet, og som bagefter kan indlæse dem fra $_POST arrayet?

---
Simon


Jeg er ikke meget inde i "klasse opbygning" men hvis du kan hjælpe ville det måske være interessant, ellers er alternativet efter at jeg har gået koden igennem nogle gange, at jeg simpelthen må forringe mit system for at få det til at virke.

Den skriver A og r istedet for r og r nu men ellers kommer jeg ikke videre. Kan være jeg kommer på nye tanker imorgen :)




Den 11-08-04 15:07 skrev Larsen følgende:
-----------------------------------------------------------------------------
kigger lige der i manualen men kan lige sige at jeg poster med "radio" men min value er et array, cirka sådan:
<input type="radio" name="test" value="$ialt1">
<input type="radio" name="test" value="$ialt2">

jeg skal bare have 2 værdier igennem samme knap, og de skal kunne bruges hver for sig bagefter.
Men som sagt kigger jeg om jeg kan bruge de der 2 jeg ikke kan se hvad hedder nu..
-----------------------------------------------------------------------------
<input type="radio" name="test" value="$ialt2">

$ialt2 er ikke et array,
kan være det er fordi du skal bruge $ialt[1] og $ialt[2]

- Jim Borch



Den 11-08-04 15:07 skrev Larsen følgende:
-----------------------------------------------------------------------------
kigger lige der i manualen men kan lige sige at jeg poster med "radio" men min value er et array, cirka sådan:
<input type="radio" name="test" value="$ialt1">
<input type="radio" name="test" value="$ialt2">

jeg skal bare have 2 værdier igennem samme knap, og de skal kunne bruges hver for sig bagefter.
Men som sagt kigger jeg om jeg kan bruge de der 2 jeg ikke kan se hvad hedder nu..
-----------------------------------------------------------------------------
<input type="radio" name="test" value="$ialt2">

$ialt2 er ikke et array,
kan være det er fordi du skal bruge $ialt[1] og $ialt[2]

- Jim Borch


Jeg skal jo have begge 2 med over på den anden side, det er mit problem.
vil lige tilføje at der skulle stå <?php echo" $ialt1"; ?> som så består af 2 ting, 1 tal med decimaler og en enten tal eller skrift.
Så kommer man over på den anden side og indsætter det her i databasen, den indsætter nu men ikke det rigtige, så der må gå noget galt under transporten af arrayèt men den har da 2 med men ikke de rigtige. A og r skulle være fx, tg og 21,75 eller hvad den nu har regnet det til at være.
På den anden side henter jeg så [0] og [1] ud af request..kan være fejlen.

henter sådan:
$rk = $_REQUEST [test];

har ligeledes prøvet med:
$rk = $_REQUEST [test[1]];

og:
$_REQUEST [test];
$rk = $ialt1[1];

og så videre men kan ikke lade sig gøre :(



$_REQUEST["test"] indeholder stringen $ialt1, hvis radio 1 er valgt, og $ialt2 hvis radio 2 er valgt. Hvis $ialt1 eller $ialt2 er en Array går det galt. du må så lave den om til en string.



Tak for svarene.
Jeg har nu gjort det at jeg har lavet 3 forms istedet, dvs delt array`et op i en hidden og 1 man skal vælge.

Absolut ikke optimalt da den viser 3 submit knapper men det virker da nogenlunde, hvis jeg bare laver lidt style hist og pist.

Altså fik jeg ikke rigtig fundet nogen løsning men om nogen tid vil jeg da kigge på, om jeg ville kunne finde ud af en anden løsning, har da fået nogle andre tanker om, hvordan det skal laves, så det kommer nok en dag.



t