Want to win a PS4? Go Premium and enter to win our High-Tech Treats giveaway. Enter to Win

x
?
Solved

how can I dected if URL has variable?

Posted on 2016-11-09
7
Medium Priority
?
57 Views
Last Modified: 2016-11-09
Hello guys,

I have this code in my php file:

	$parc = $_GET['cod']; 	

Open in new window


the cod is a variable that comes from my URL, like: www.teachmenow.com.br?cod=002

but, sometimes the link doesn't have the variable, then I am getting an error:

Undefined index: cod

is there any way to prevent if URL came with variable or not?

thanks
alex
0
Comment
Question by:hidrau
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 2
  • 2
7 Comments
 
LVL 35

Expert Comment

by:ste5an
ID: 41880633
When it is a mandatory parameter, then use a redirect. Depending on your stack, this should be placed at the web server level, if possible.
0
 
LVL 111

Accepted Solution

by:
Ray Paseur earned 2000 total points
ID: 41880637
$cod = !empty($_GET['cod']) ? $_GET['cod'] : FALSE;
if ($cod) { /* YOU HAVE A VARIABLE IN THE URL */}

Open in new window

If you're new to PHP and want to learn the language, this article can help you get started.  Just skip over the parts you already know from other programming languages or computer science courses.
https://www.experts-exchange.com/articles/11769/And-by-the-way-I-am-New-to-PHP.html
1
 
LVL 1

Author Comment

by:hidrau
ID: 41880722
Hello Ray,

I had found something like this:

if isset($_GET['cod']) {
		$parc = 'VD001'
	} else {
		$parc = $_GET['cod']
	}  	

Open in new window


What do you think about?

Thanks for the link
0
Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 111

Assisted Solution

by:Ray Paseur
Ray Paseur earned 2000 total points
ID: 41880750
That looks a little bit backwards to me.  As I understand the intended logic, the external variable should be the controlling factor, otherwise a default value will be used.

The Ternary operator is useful for things like this.  This page is long, but it's required reading for anyone who writes PHP code.
http://php.net/manual/en/language.operators.comparison.php

Here is how I might write the expressions
$parc = !empty($_GET['cod']) ? $_GET['cod'] : 'VD001';

Open in new window


Here is the narrative:
1. Inspect $__GET['cod'] with the empty() function.  If that returns FALSE, there is information in $_GET['cod']
2. When empty() returns FALSE, !empty() [said "not-empty"] returns TRUE
3. With !empty() === TRUE, assign the value in $_GET['cod'] to $parc
4. With !empty() === FALSE, assign the literal string 'VD001' to $parc
0
 
LVL 35

Expert Comment

by:ste5an
ID: 41880774
First of all: do you have a working backup? Do you have a test system?

Cause you currently allow SQL injection...

Capture.PNG
0
 
LVL 1

Author Closing Comment

by:hidrau
ID: 41880808
Thanks a lot
0
 
LVL 111

Expert Comment

by:Ray Paseur
ID: 41880814
Thanks for the points.  I think ste5an may have a good point about the risks of SQL injection.  This article shows some ways of preventing it.
https://www.experts-exchange.com/articles/11177/PHP-MySQL-Deprecated-as-of-PHP-5-5-0.html
0

Featured Post

Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This article discusses how to implement server side field validation and display customized error messages to the client.
Originally, this post was published on Monitis Blog, you can check it here . In business circles, we sometimes hear that today is the “age of the customer.” And so it is. Thanks to the enormous advances over the past few years in consumer techno…
The viewer will learn how to create and use a small PHP class to apply a watermark to an image. This video shows the viewer the setup for the PHP watermark as well as important coding language. Continue to Part 2 to learn the core code used in creat…
This tutorial will teach you the core code needed to finalize the addition of a watermark to your image. The viewer will use a small PHP class to learn and create a watermark.
Suggested Courses

596 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question