Reputation: 6318
I am trying to pass a variable within a header link. I have tried below code
$name = "mike";
if($name != "lopan"){
header("Location:error-page.php?$errorMssg=Please enter information?");
}
This page redirect to location but doesn't pass the variable that contains the message. But when i create a simple link with values like this:
<a href="error-page.php?$errorMssg=so what happened there buddy?">link</a>
it passes it just fine.
Any ideas what i am doing wrong? or i can not pass information with headers?
Upvotes: 6
Views: 37355
Reputation: 7693
could it be because you have $errorMssg
instead of $errorMsg
? also try to make a valid url, for example replace " " with %20 etc, function urlencode()
could help you with this.
Upvotes: 1
Reputation: 41895
You need to use urlencode like this:
if($name != "lopan"){
header("Location:error-page.php?errorMssg=".urlencode("Waoo so your not EVEN going to try to enter information huh?"));
}
And in error-page.php, you should get it (no need to urldecode):
<?php
$errorMssg = $_GET['errorMssg'];
Upvotes: 13