Hi all,

I having trouble with passing a serialized array in the URL. It seems to be choking when one of the values in the array contains a \'/\'. Whenever that is the case, I get a 404 on the page, so it may not be a PHP problem, but I\'m hoping someone here has an idea where to look for a solution.

(FYI: The reason I\'m approaching this as described below is that I am trying to avoid using cookies AND avoid using query strings (so that the page will be search engine-friendly) ).

To Summarize:

-- I have an array of key/vars that correspond to variables/variable values which I want to pass to the target page.

-- I build the link href like this: \"sometargetpage.php/\" . rawurlencode(serialize($cookiearray))

-- At the beginning of every page I unserialize like this:
$cookiearray = unserialize(stripslashes(substr($PATH_INFO,1)));

Any ideas on what the problem is or suggestions on how to work around it?

I tried replacing serialize() with base64_encode(), and that DID WORK for passing the array with the \'/\' in it,,, but then I had a URL with an \'=\' in it, which I understand is also enough to make many search engines not crawl the page, so I\'m hoping to avoid that as well.

Thanks in advance,
Ben

------ some info from \"PHPINFO.PHP\" ----------------------

System Linux compiler 2.2.19 #3 SMP Thu Jul 26 12:08:45 EDT 2001 i686 unknown
Build Date Oct 1 2001
Configure Command \'./configure\' \'--with-apxs=/etc/httpd/bin/apxs\' \'--with-cybercash=/usr/local/cybercash/mck-3.2.0.6-i586-pc-linux-gnulibc2.1\' \'--with-mysql=/usr/local/mysql\' \'--with-mcrypt=/usr/local/lib\' \'--with-gdbm=/usr/local/lib\' \'--enable-ftp\' \'--with-gd=../gd-1.8.3\' \'--enable-track-vars\' \'--enable-trans-sid\' \'--disable-posix-threads\' \'--disable-debug\' \'--with-zlib\' \'--enable-memory-limit=yes\'
Apache Version Apache/1.3.20

    How about base64 encoding the serialised array, then urlencoding that?

      Tried that but that still had some equal signs in it.
      -Ben

        Write a Reply...