363,924 Members | 2570 Browsing Online
Community for Developers & IT Professionals
Bytes IT Community

Passing an entire array in PHP

Phillip Wu
P: n/a
Phillip Wu
Hi,

I saw a previous post about sending arrays but did not quite
understand the answers.

The problem is that I would like to pass an entire array as a hidden
input field from one php script to another. I've simplified the code
where form1.php calls form2.php when "Go" is hit:

form1.php
=========

<html>
<head>
<title>Form 1</title>
</head>
<body>
<h1>Form 1</h1>
<form action="form2.php" method=post>
<?
$record[0]="One";
$record[1]="Two";
printf("<input type=hidden name=\"record[]\" value=\"%s\">",$record);
?>
<input type=submit value="Go">
</form>
</body>
</html>

form2.php
=========
<html>
<head>
<title>Form 2</title>
</head>
<body>
<h1>Form 2</h1>
<?
$record=$_POST['record'];
printf("$record[0]=%s",$record[0]);
printf("$record[1]=%s",$record[1]);
?>
</body>
</html>

The result is:
Form 2
Array=Array=

How do I fix this?

Thanks in advance for any help.
Jul 16 '05 #1
Share this Question
Share on Google+
2 Replies


Agelmar
P: n/a
Agelmar
Phillip Wu wrote:[color=blue]
> Hi,[/color]
<snip>
rtfm
but in brief:
echo '<input type="hidden" name="myarray" value="',
base64_encode(serialize($myarray)),'">';

to get your array back:
$thearray = unserialize(base64_decode($_POST['myarray']));


Jul 16 '05 #2

Tony Marston
P: n/a
Tony Marston
If you want to pass an array from one PHP script to another then you
would be better off using sessions. The disadvantage of passing data
as hidden fields in your HTML form is that anybody can see it using
the browser's 'view source' option. It is even possible to change the
values before hitting the 'submit' button.

Learn how to use sessions. You won't be sorry you did.

Tony Marston


pwu@qantas.com.au (Phillip Wu) wrote in message news:<943cec75.0307141810.488a33d4@posting.google. com>...[color=blue]
> Hi,
>
> I saw a previous post about sending arrays but did not quite
> understand the answers.
>
> The problem is that I would like to pass an entire array as a hidden
> input field from one php script to another. I've simplified the code
> where form1.php calls form2.php when "Go" is hit:
>
> form1.php
> =========
>
> <html>
> <head>
> <title>Form 1</title>
> </head>
> <body>
> <h1>Form 1</h1>
> <form action="form2.php" method=post>
> <?
> $record[0]="One";
> $record[1]="Two";
> printf("<input type=hidden name=\"record[]\" value=\"%s\">",$record);
> ?>
> <input type=submit value="Go">
> </form>
> </body>
> </html>
>
> form2.php
> =========
> <html>
> <head>
> <title>Form 2</title>
> </head>
> <body>
> <h1>Form 2</h1>
> <?
> $record=$_POST['record'];
> printf("$record[0]=%s",$record[0]);
> printf("$record[1]=%s",$record[1]);
> ?>
> </body>
> </html>
>
> The result is:
> Form 2
> Array=Array=
>
> How do I fix this?
>
> Thanks in advance for any help.[/color]
Jul 16 '05 #3

Post your reply

Help answer this question



Didn't find the answer to your PHP question?

You can also browse similar questions: PHP