I have a script.php that can be accessed by browser. To be able to do anything it has to be called by using script.php?abc=1
What is the best way to check if parameter was called and if not, stop the script? Would checking for
$_SERVER['REQUEST_URI'] be enough? Do all browsers use it?
You can use the
isset() function – this is a very common thing to use if you need to check whether input values have been provided or not.
In the simplest case, just exit the script if the value isn’t set:
if (!isset($_GET["abc"])) exit();
$_SERVER['REQUEST_URI'] provides the whole URI following the domain, including the path and the whole querystring. So you could pick that apart to get the value you want, but it’s pointless because
$_GET["abc"] will take you straight to it. See this answer for an example of the difference.