Avatar billede xbobby Nybegynder
29. juni 2003 - 11:14 Der er 13 kommentarer og
1 løsning

Overføre værdierne fra et array via input type="hidden"

Hej med jer.

Jeg har brug for at overføre værdierne fra et array til en ny side.

Jeg kan godt overføre en enkel variabel med input type"hidden", men jeg kan ikke finde ud af det med værdierne fra et array.

Hvis ikke det kan lade sig gøre når det er et array, er jeg også lydhør overfor løsningsforslag via en funktion, som kunne ligge på en side som vi kunne kalde funktioner.php og hvor begge de sider jeg så skal bruge har den includeded.

Glæder mig til at høre nogle gode konkrete løsningsforslag.
Avatar billede erikjacobsen Ekspert
29. juni 2003 - 11:17 #1
Overvej at bruge www.php.net/serialize til at lave et array til én streng,
og www.php.net/unserialize til den omvendte operation
Avatar billede jakoba Nybegynder
29. juni 2003 - 11:20 #2
du kan jo evt skrive | eller , eller ; imellem værdierne (det skal være et tegn der ikke forekommer indeni de værdier).
så får du en streng a-la "olsen|jensen|mørk|iversen" som du lige kan lave om til et array med explode:

$array_data = $_POST['dit_hidden_felt'];
$data_array = explode( "|", $array_data );

mvh JakobA
Avatar billede erikjacobsen Ekspert
29. juni 2003 - 11:31 #3
"et tegn der ikke forekommer" ... det håndterer (un)serialize helt automatisk.
Avatar billede xbobby Nybegynder
30. juni 2003 - 12:14 #4
Hej Jakoba

Jeg kan ikke få det til at fungerer, så jeg smider lige koder på, så du kan se hvad det er jeg gør galt:

<?
$array_data = array(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);
?>
<html>
<head>
    <title>DEL 1:</title>
</head>
<body>
<form action="test.php" method="post">
<input type="hidden" name="svar" value="<? echo $array_data; ?>">
<input type="submit" value="Godkend">
</form>
</body>
</html>

<?
$array_data = $_POST['svar'];
$data_array = explode( "|", $array_data );
?>
<html>
<head>
    <title>DEL 2:</title>
</head>
<body>
<?
echo "$array_data <p>";
echo $data_array;
?>
</body>
</html>
Avatar billede xbobby Nybegynder
30. juni 2003 - 12:17 #5
Til Erik Jacopsen
Det ser spændende ud på den side du henviser til, men jeg kan bare ikke engelsk nok til at forstp det de skriver. Så spørgsmål er om du gider skabe noget ud fra det du kan læse dig til på den side. I mit sidste indlæg til Jakoba, kan du se mine to test sider, så du har noget konkret at gå udfra.
Avatar billede erikjacobsen Ekspert
30. juni 2003 - 12:18 #6
Jakobas skal nok være
<input type="hidden" name="svar" value="<? echo join("|",$array_data); ?>">
Avatar billede erikjacobsen Ekspert
30. juni 2003 - 12:19 #7
Man kommer ikke langt i denne verden uden at kunne engelsk ;)
Avatar billede jakoba Nybegynder
30. juni 2003 - 12:39 #8
som erikjacobsen skriver.
med den rettelse der du skriver data ind i hidden-feltet vil jeg tro det virker
Avatar billede xbobby Nybegynder
30. juni 2003 - 15:25 #9
Det fungere perfekt, jeg lægger lige koderne ud, så er det lige til at gå til for andre der også gerne vil overføre et array via input="hidden".

Spørgsmålet er nu hvordan deler I to de 60 point, for I har jo begge en andel i at det fungere. Giv mig et foreslag.
Avatar billede erikjacobsen Ekspert
30. juni 2003 - 15:27 #10
Jeg frafalder
Avatar billede xbobby Nybegynder
30. juni 2003 - 15:27 #11
Her er koderne:

<?
$array_data = array(0,1,2,3,4,5,6,7,8,9);
?>
<html>
<head>
    <title>DEL 1:</title>
</head>
<body>
<form action="test.php" method="post">
<input type="hidden" name="svar" value="<? echo join("|",$array_data); ?>">
<input type="submit" value="Godkend">
</form>
</body>
</html>


<?
$array_data = $_POST['svar'];
$data_array = explode( "|", $array_data );
?>
<html>
<head>
    <title>DEL 2:</title>
</head>
<body>
<?
echo "$data_array[0] <br>";
echo "$data_array[1] <br>";
echo "$data_array[2] <br>";
echo "$data_array[3] <br>";
echo "$data_array[4] <br>";
echo "$data_array[5] <br>";
echo "$data_array[6] <br>";
echo "$data_array[7] <br>";
echo "$data_array[8] <br>";
echo "$data_array[9] <br>";
?>
</body>
</html>
Avatar billede xbobby Nybegynder
30. juni 2003 - 15:28 #12
Så er det jo bare at du smider et svar jakoba :-)
Avatar billede jakoba Nybegynder
30. juni 2003 - 15:44 #13
Jeg er grådig (og helt klar over det er den eneste grund til jeg står 'over' ej)
Avatar billede xbobby Nybegynder
30. juni 2003 - 16:13 #14
grådig - men GOD - tak for hjælpen :-)
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