php script for variables attached to url

Peter2

Junior Member
Jun 7, 2008
4
0
0
Hi;
I use the $_GET to get the values of variables attached to url like this:

http://www.abc.com/mypage.php?var1=abc

in the mypage.php, I use $var1=$_GET['var1'];

But it will give an error message when there is no variable attached to the url like:

http://www.abc.com/mypage.php

the message is

Notice: Undefined index: var1 in ... www\mypage.php on line 2

I want the mypage.php to be able to handle both cases smoothly.

How can I do that?

Your help is highly appreciated.

Peter
 

Crusty

Lifer
Sep 30, 2001
12,684
2
81
if (isset($_GET['var1'])) {
$var1 = $_GET['var1'];
}
else {
$var1 = "Error";
}
 

reverend boltron

Senior member
Nov 18, 2004
945
0
76
You're on abc.com??? That's a pretty intense domain name. You should sell it and become a millionaire!

Maybe try something like...
if(isset($_GET['var1'])==1) { $var1=$_GET['var1']}


or you can do it like..
if(isset($_GET['var1'])) { ... }

or you can try it like..
$var1 = isset($_GET['var1']) ? $_GET['var1'] : 'NULL';

Or some other value you might want to use to test if it has a value or not. Those are just three different flavors that I would use.
I personally like the last time, because I just think it's cool to program like that.
 

Hyperblaze

Lifer
May 31, 2001
10,028
1
81
I'd go for the following.

if (isset($_GET['var1']) && $_GET['var1'] != NULL) {
$var1 = mysql_real_escape_string($_GET['var1']);
}

the only real difference I have with the other posts is that I sanitize the get variables in case someone tries to use a sql injection attack.

If you were to plug in the $var1 directly into a sql statement, you'd take a risk not sanitizing it.
 

jjones

Lifer
Oct 9, 2001
15,425
2
0
Originally posted by: Hyperblaze
I'd go for the following.

if (isset($_GET['var1']) && $_GET['var1'] != NULL) {
$var1 = mysql_real_escape_string($_GET['var1']);
}

the only real difference I have with the other posts is that I sanitize the get variables in case someone tries to use a sql injection attack.

If you were to plug in the $var1 directly into a sql statement, you'd take a risk not sanitizing it.
Prepared statements FTW, but you should also qualify $_GET because you don't want garbage either. And I usually go with a !empty rather than !NULL as !empty checks for zero values and false as well.

Edit: I guess I should put an example up for the OP. Pretty much similar to Hyperblaze:

if (isset($_GET['var1']) && !empty($_GET['var1'])) {

// Here you'll want to do some qualifying for $_GET

$var1 = (int) $_GET['var1']; // if you expect an integer

$array = array('value1', 'value2', 'value3'); // an array used to check possible expected $_GET values

(in_array($_GET[$var1], $array)) ? $var1 = $_GET['var1'] : $var1 = false;

}

There's lots of checking you can do, depending upon what you're expecting from the GET variable. Once you've weeded out the garbage, you can then use the mysql_real_escape_string function on it before sending it to the DB, or use prepared statements.
 

Peter2

Junior Member
Jun 7, 2008
4
0
0
Than you all for very nice help. I followed your suggestion, and my code works now.
Thanks again.

Peter
 
sale-70-410-exam    | Exam-200-125-pdf    | we-sale-70-410-exam    | hot-sale-70-410-exam    | Latest-exam-700-603-Dumps    | Dumps-98-363-exams-date    | Certs-200-125-date    | Dumps-300-075-exams-date    | hot-sale-book-C8010-726-book    | Hot-Sale-200-310-Exam    | Exam-Description-200-310-dumps?    | hot-sale-book-200-125-book    | Latest-Updated-300-209-Exam    | Dumps-210-260-exams-date    | Download-200-125-Exam-PDF    | Exam-Description-300-101-dumps    | Certs-300-101-date    | Hot-Sale-300-075-Exam    | Latest-exam-200-125-Dumps    | Exam-Description-200-125-dumps    | Latest-Updated-300-075-Exam    | hot-sale-book-210-260-book    | Dumps-200-901-exams-date    | Certs-200-901-date    | Latest-exam-1Z0-062-Dumps    | Hot-Sale-1Z0-062-Exam    | Certs-CSSLP-date    | 100%-Pass-70-383-Exams    | Latest-JN0-360-real-exam-questions    | 100%-Pass-4A0-100-Real-Exam-Questions    | Dumps-300-135-exams-date    | Passed-200-105-Tech-Exams    | Latest-Updated-200-310-Exam    | Download-300-070-Exam-PDF    | Hot-Sale-JN0-360-Exam    | 100%-Pass-JN0-360-Exams    | 100%-Pass-JN0-360-Real-Exam-Questions    | Dumps-JN0-360-exams-date    | Exam-Description-1Z0-876-dumps    | Latest-exam-1Z0-876-Dumps    | Dumps-HPE0-Y53-exams-date    | 2017-Latest-HPE0-Y53-Exam    | 100%-Pass-HPE0-Y53-Real-Exam-Questions    | Pass-4A0-100-Exam    | Latest-4A0-100-Questions    | Dumps-98-365-exams-date    | 2017-Latest-98-365-Exam    | 100%-Pass-VCS-254-Exams    | 2017-Latest-VCS-273-Exam    | Dumps-200-355-exams-date    | 2017-Latest-300-320-Exam    | Pass-300-101-Exam    | 100%-Pass-300-115-Exams    |
http://www.portvapes.co.uk/    | http://www.portvapes.co.uk/    |