Avatar billede cbach Nybegynder
03. august 2004 - 13:38 Der er 13 kommentarer

Sende Array

Hvordan sender jeg en array til en anden php-fil.
jeg har brugt <input type='hidden....

men når jeg henter det med $_POST['array'] siger den:
Undefined index: antal in "mit filnavn"

hvad gør jeg?
Avatar billede sostack Nybegynder
03. august 2004 - 13:42 #1
Du kunne jo samle arrayet til en streng:
$streng = implode("|", $array);
sende den til den anden php-fil, og skille den ad igen:
$array = explode("|", $streng);

//sostack
Avatar billede cbach Nybegynder
03. august 2004 - 13:47 #2
det duer ikke, da jeg skal sammenkoble arrayet med et andet array, og da disse skal forholde sig til hinandens index'ering
Avatar billede detox Nybegynder
03. august 2004 - 13:50 #3
Brug: serialize() og unserialize()
Avatar billede cbach Nybegynder
03. august 2004 - 13:50 #4
kan du give et eksempel?
Avatar billede detox Nybegynder
03. august 2004 - 13:53 #5
<input type="hidden" name="foo" value="<?php echo serialize($arr)?>" />

og på næste side:

$dit_array = unserialize($_POST['foo']);
Avatar billede cbach Nybegynder
03. august 2004 - 14:00 #6
den siger at min variabel ikke er en streng!?
Avatar billede detox Nybegynder
03. august 2004 - 14:03 #7
Øh, hvor siger den det?
Avatar billede detox Nybegynder
03. august 2004 - 14:19 #8
Så prøv:

<input type="hidden" name="foo" value='<?php echo urlencode(serialize($arr))?>' />

og:

$dit_array = unserialize(urldecode($_POST['foo']));
Avatar billede cbach Nybegynder
04. august 2004 - 08:13 #9
jeg tror mit problem er at array'et ikke bli'r send til min fil!
Det ser sådan ud:
$kunde = "Kunden";
$order = "bestilling";
$amount = "stk";

    <form name='confirm' action='email.php' method='post'>
                                                <input type='hidden' name='send' value='on'>
                                                <input type='hidden' name='kundenavn' value='";    echo $kunde."'>
                                                <input type='hidden' navn='ordre' value='"; echo $order."'>
                                                <input type='hidden' navn='antal' value='"; echo $amount."'>
                                                <input type='button' value='<-- back' id='formularfelt4' onclick='java script:history.go(-1);'>
                                                <input type='submit' value='Confirm' id='formularfelt4'>
                                            </form>
Avatar billede cbach Nybegynder
04. august 2004 - 08:15 #10
og i filen email.php er det kun variablen kundenavn som udskrives med:

$firmanavn = $_POST['kundenavn'];
$bestilling = $_POST['ordre'];
$stk = $_POST['antal'];

echo $firmanavn;
echo $bestilling;
echo $stk;

hvorfor? - hvad gør jeg forkert. Kan man ikke sende mere en et hidden-felt???
Avatar billede cbach Nybegynder
04. august 2004 - 08:32 #11
eller?
Avatar billede detox Nybegynder
04. august 2004 - 12:46 #12
navn='ordre' og navn='antal', du skal ændre 'navn' til 'name'
Den ser i det hele taget forkert ud og der er jo ingen array's?
Prøv:

<?php
$kunde = "Kunden";
$order = "bestilling";
$amount = "stk";
?>
<form name='confirm' action='email.php' method='post'>
<input type='hidden' name='send' value='on'>
<input type='hidden' name='kundenavn' value='<?php echo $kunde?>'>
<input type='hidden' name='ordre' value='<?php echo $order?>'>
<input type='hidden' name='antal' value='<?php echo $amount?>'>
<input type='button' value='<-- back' id='formularfelt4' onclick='java script:history.go(-1);'>
<input type='submit' value='Confirm' id='formularfelt4'>
</form>
Avatar billede detox Nybegynder
04. august 2004 - 12:53 #13
Og som array virker det osse:

<?php
$arr = array('kunde'=>'Kunden', 'order'=>'bestilling','amount'=>'stk');
?>
<form name='confirm' action='email.php' method='post'>
<input type='hidden' name='send' value='on'>
<input type='hidden' name='arr' value='<?php echo urlencode(serialize($arr))?>'>
<input type='button' value='<-- back' id='formularfelt4' onclick='java script:history.go(-1);'>
<input type='submit' value='Confirm' id='formularfelt4'>
</form>

email.php:
----------

<?php
$arr = unserialize(urldecode($_POST['arr']));

echo $arr['kunde']."<br />\n";
echo $arr['order']."<br />\n";
echo $arr['amount']."<br />\n";
?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester