Jason Jacobs wrote:
> Hi all.  I'm trying to pass an array to another page, and I'm not having
> luck.  I thought maybe it would do something slick by passing it in the
> url, but it doesn't.  So, how can I pass the array?

    You can pass an array between pages by using the serialize() and
    unserialize() functions in conjunction with rawurlencode().

    Serializing a variable is kind of like freezing food.

    You freeze food so that you can store it for later use. Serializing
    does roughly the same thing for a variable, converting a 'fresh'
    variable into a string that you can store and then 'thaw' for later
    use.


    The basic steps to use serialize to transfer data between pages are:

    0.) Page foo.php has an array that it wants to pass to bar.php

        $array = array ('doe', 'diddy', 'dee', 'dum');

    1.) Serialize the array

        $serialized_array = serialize ($array);

    2.) Make the serialized data safe for transport via http by passing it
        to rawurlencode()

        $serialized_array = rawurlencode ($serialized_array);

    3.) Pass the serialized array to another page via GET. (You could also
        use a form and POST)

        echo "The serialized array looks like this: $serialized_array<br>";
        <a href="bar.php?array=<?php echo $serialized_array ?>">Send</a>

    4.) Unserialize the array at page bar.php
        (You may need to call stripslashes() on the passed data - review
        the magic_quotes directives in your php.ini file for more
        information)

        $array = unserialize (stripslashes ($array));

    5.) Voilą! Garnish with a 'Powered by PHP Logo' and it is ready to
        serve. ;)


    Good Luck!

    --zak





-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to