By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
428,659 Members | 910 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 428,659 IT Pros & Developers. It's quick & easy.

Passing an entire array in PHP

P: n/a
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


P: n/a
Phillip Wu wrote:
Hi,

<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

P: n/a
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
pw*@qantas.com.au (Phillip Wu) wrote in message news:<94**************************@posting.google. com>...
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 #3

This discussion thread is closed

Replies have been disabled for this discussion.