Re: passing multiple variables in a url

From: Date: Thu, 14 Nov 2002 23:53:31 +0000
Subject: Re: passing multiple variables in a url
References: 1  Groups: php.general 
Request: Send a blank email to php-general+get-124518@lists.php.net to get a copy of this message
on 15/11/02 12:11 AM, CJ (newsgroupcontact@seseaz.org.uk) wrote: > I have a "contact us" php script on my site that allows users to email > direct from the webiste. I want to be able to pass the to address and > subject line to the script so I can call teh web page from elsewhere on the > site and have it automatically choose the correct email address and subject > line. > > EG instad of using <a href=mailto:joe@bloggs.mail.com> > which requires them > to have an email client set up on the machine I want to link to > <a href=contactus.php?email=director subject=job enquiry> > The script already handles the email=director by setting a default entry in > a drop down form but I can't get it to separate the first and second > variables in the URL. <a href="contactus.php?email=director&subject=job_enquiry"> > Also is this a big security risk as I will be echoing the 2nd variable as > the contents of a form field. Would it be possible for someone to type in > the URL with HTML/php in it that would make a mess of everything? How can I > protect against this? Would it be sufficient to just pase the 2nd variable > for non alphabetic characters and remove them? As I think I read replied by someone else, I'd have numeric IDs for both the staff AND the subject. staff 1 = joe.bloggs@email.com 2 = justin@indent.com.au 3 = frank@sausage.com 4 = hamburgler@mcdonalds.com subjects 1 = general enquiry 2 = technical support 3 = gambling addiction 4 = debate about red cars being faster Then your link url is a lot cleaner <a href="contactus.php?e=2&s=4"> contactus.php simply has to check an array, or sql table, or what ever, to find out what a subject id of "1" really is. To ensure extra security over text stuff, you can check to make sure sure $e and $s are both numeric (check out is_numberic(), is_int(), etc etc). You could also set defaults, so that if the $s or $e is excluded, or invalid, you can set a default. So these three links won't break the the page: <a href="contactus.php"> <a href="contactus.php?s=3"> <a href="contactus.php?e=2"> Good luck Justin French -------------------- http://Indent.com.au Web Developent & Graphic Design --------------------

« previous php.general (#124518) next »