Page 1 of 1

Problem with SITE_ROOT

Posted: Wed Mar 14, 2018 11:00 am
by JazzKennyWowy
I am teaching myself php (working through a textbook) and have hit a couple of problems. I've just spent about 4 hours trying to get the SITE_ROOT configured. I have selected public_html/exercises as the ROOT using

define("SITE_ROOT", "/public_html/exercises/");

Now, I on error I want to redirect to public_html/exercises/scripts/show_error.php. I'm using

function handle_error ($user_error_message, $system_error_message) {
header("Location: " . SITE_ROOT . "scripts/show_error.php?" . "error_message={$user_error_message}&" . "system_error_message={$system_error_message}");
exit();
to do that but each time I get

The requested URL /public_html/exercises/scripts/show_error.php was not found on this server.

What am I doing wrong?

Re: Problem with SITE_ROOT

Posted: Wed Mar 14, 2018 2:04 pm
by Christopher
You have defined your SITE_ROOT as a file system path:

Code: Select all

define("SITE_ROOT", "/public_html/exercises/");
However, in your function you are using it as a URL:

Code: Select all

header("Location: " . SITE_ROOT . "scripts/show_error.php?" . "error_message={$user_error_message}&" . "system_error_message=
You probably want to define it as a URL instead:

Code: Select all

define("SITE_ROOT", "http://mysite.com/exercises/");