I have a simple if statement that works on my local machine but when i uploaded it tom ypaid site i got an error on my home page.
Error:
Warning: include(./pages/.php) [function.include]: failed to open stream: No such file or directory in /home/a5410474/public_html/index.php on line 33
Warning: include() [function.include]: Failed opening './pages/.php' for inclusion (include_path='.:/usr/lib/php:/usr/local/lib/php') in /home/a5410474/public_html/index.php on line 33
The Code:
<?php
if (isset($_GET['p']) && $_GET['p'] != NULL || $_GET['p'] != '') {
$p = mysql_real_escape_string($_GET['p']);
}elseif ($_GET['p'] == '' || $_GET['p'] == NULL){
$p = 'home';
}
include("./pages/".$p.".php");
?>
A much less verbose way of writing this:
Some other notes:
You should not be using
mysql_real_escape_stringon a variable you’re going to pass toinclude. That function is for preparing data for insertion into a SQL query.You should not
includea file based on a variable passed through the query string, or from any kind of user input. Someone can use that to read system files on your server then take control of the whole computer.