RE: PHP "GET" Error?

From: Date: Thu, 25 Feb 2010 19:28:44 +0000
Subject: RE: PHP "GET" Error?
References: 1 2 3  Groups: php.general 
Request: Send a blank email to php-general+get-302380@lists.php.net to get a copy of this message
> Date: Thu, 25 Feb 2010 13:03:57 -0600 > From: nospam@mckenzies.net > CC: ajwei@alumni.iu.edu; php-general@lists.php.net > Subject: Re: PHP "GET" Error? > > Shawn McKenzie wrote: > > Alice Wei wrote: > >> Hi, > >> > >> I have done something wrong here, because when I have my variables declared in my > >> PHP: > >> > >> $people_from = $_GET['people_from']; > >> $state_colors= $_GET['state_colors']; > >> > >> I get this url: > >> http://localhost/generic.php?people_from=Adair, OK-Alfalfa, > >> OK-Atoka, OK-Beaver, OK-Beckham, OK-Blaine, OK-Bryan, OK-Caddo, OK-Canadian, OK-Carter, OK-Cherokee, > >> OK-Choctaw, OK-Cimarron, OK-Cleveland, OK-Coal, > >> OK&state_colors=#FFFFCC-#FFFFCC-#FFCCCC-#FFCCCC-#FFCCCC-#FFCCCC-#FFCCCC-#FFCCCC-#FFCCCC-#FFCCCC-#FFCCCC-#FFCCCC-#FFCCCC-#FFCCCC-#FFCCCC-#FFCCCC > >> > >> The result? I don't get any colors on the screen as I have here in the url. > >> However, if I do: > >> > >> $people_from = "Adair, OK-Alfalfa, OK-Atoka, OK-Beaver, OK-Beckham, OK-Blaine, > >> OK-Bryan, OK-Caddo, OK-Canadian, OK-Carter, OK-Cherokee, OK-Choctaw, OK-Cimarron, OK-Cleveland, > >> OK-Coal, OK"; > >> $state_colors= > >> "#FFFFCC-#FFFFCC-#FFCCCC-#FFCCCC-#FFCCCC-#FFCCCC-#FFCCCC-#FFCCCC-#FFCCCC-#FFCCCC-#FFCCCC-#FFCCCC-#FFCCCC-#FFCCCC-#FFCCCC"; > >> > >> I get the correct result. In total, there are 77 entries (I only put 15 here). Is > >> there a length limit for what I pass to the url? If not, how come there are no colors showing up in > >> my image as I desired according to my url? > >> > >> Thanks for your help. > >> > >> Alice > >> > >> _________________________________________________________________ > >> Hotmail: Free, trusted and rich email service. > >> http://clk.atdmt.com/GBL/go/201469228/direct/01/ > > > > There are characters in the URL that have a meaning within a URL itself > > (such as #). Use urlencode() before putting the data in the URL. > > > > FWIW, how I would probably handle this is to have an array of > $people_from and an array of $state_colors and then serialize() them and > run through urlencode(). Then you have an array on the next page. Much > easier to work with: > > $people_from = array('K-Alfalfa', 'OK-Atoka'); //etc... > $state_colors = array('#FFFFCC', '#FFFFCC'); //etc... > > Then the link would be: > > $url = > > 'generic.php?people_from='.urlencode(serialize($people_from)).'&state_colors'.urlencode(serialize($state_colors)); > > You then have a $_GET['people_from'] and $_GET['state_colors'] array on > the next page. On another note, would this be different if I used POST instead of GET? (considering there are some limitation on the length of my url) I tried to look into that, but I don't see anything. Alice > -- > Thanks! > -Shawn > http://www.spidean.com _________________________________________________________________ Hotmail: Powerful Free email with security by Microsoft. http://clk.atdmt.com/GBL/go/201469230/direct/01/

« previous php.general (#302380) next »