469,352 Members | 2,163 Online
Bytes | Developer Community
New Post

Home Posts Topics Members FAQ

Post your question to a community of 469,352 developers. It's quick & easy.

help with variables in header location

Hi

this is probably very easy to sort but I want to do the following:-

header( "Location:
subscribe_form.php?name='.$_GET['name'].'&email='.$_GET['email'].'");

but this pulls up the error:-

Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting
T_STRING or T_VARIABLE or T_NUM_STRING in
/home/httpd/vhosts/promotingmusic.co.uk/httpdocs/test/subscribe.php on line
11

the above being line 11. How would I go about encoding the URL properly. The
reason I am doing this is that I am using a form that is being validated via
another script and if there is a problem I wish to fiorward them back to the
form with it pre filled in.

Also is this the correct method for doing this.

Cheers in advance.
Jul 17 '05 #1
6 17913
Filth wrote:
Hi

this is probably very easy to sort but I want to do the following:-

header( "Location:
subscribe_form.php?name='.$_GET['name'].'&email='.$_GET['email'].'");

but this pulls up the error:-

Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting
T_STRING or T_VARIABLE or T_NUM_STRING in
/home/httpd/vhosts/promotingmusic.co.uk/httpdocs/test/subscribe.php on line
11

the above being line 11. How would I go about encoding the URL properly. The
reason I am doing this is that I am using a form that is being validated via
another script and if there is a problem I wish to fiorward them back to the
form with it pre filled in.

Also is this the correct method for doing this.

Cheers in advance.


You aren't closing your quotes
header("Location: subscribe_form.php?name='" . _GET['name'] . "&email="
.....etc

~Cameron
Jul 17 '05 #2
> > header( "Location:
subscribe_form.php?name='.$_GET['name'].'&email='.$_GET['email'].'");
Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in
/home/httpd/vhosts/promotingmusic.co.uk/httpdocs/test/subscribe.php on line 11


You aren't closing your quotes
header("Location: subscribe_form.php?name='" . _GET['name'] . "&email="
....etc


Hi Cameron cheers for the quick response I notice in your example you missed
off the $ in the get variable was this meant or is it a typo (I presume it
was a typo) also I am presuming it is another type but you have closed a "
using a ' followed by a "

working on my presumptions I tried:-

header("Location: subscribe_form.php?name=" ". $_GET['name'] . '&email=' .
$_GET['email'] ." );

and

header("Location: subscribe_form.php?name=" ". $_GET['name'] ." '&email=' ".
$_GET['email'] ." );

which gave me the following error:-

Parse error: parse error, unexpected '\"' in
/home/httpd/vhosts/promotingmusic.co.uk/httpdocs/test/subscribe.php on line
11

Can you see what I am doing wrong?
Jul 17 '05 #3
Filth wrote:

Hi

this is probably very easy to sort but I want to do the following:-

header( "Location:
subscribe_form.php?name='.$_GET['name'].'&email='.$_GET['email'].'");

but this pulls up the error:-

Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting
T_STRING or T_VARIABLE or T_NUM_STRING in
/home/httpd/vhosts/promotingmusic.co.uk/httpdocs/test/subscribe.php on line
11

the above being line 11. How would I go about encoding the URL properly. The
reason I am doing this is that I am using a form that is being validated via
another script and if there is a problem I wish to fiorward them back to the
form with it pre filled in.


A few problems:

Always url_encode your variables when they're in a header. Otherwise, if you
have a space or another invalid character you'll get an error.
You should use absolute URLs in the location header. Some browsers do not
support relative URLs.
Single and double quotes aren't interchangable (I assume you don't want single
quotes in the email and name variables).
Always close your quotes.

header( "Location:
http://yourdomain.com/script.php?name=".url_encode($_GET['name'])."&email=".urlencode($_GET['email']));

Regards,
Shawn
--
Shawn Wilson
sh***@glassgiant.com
http://www.glassgiant.com
Jul 17 '05 #4
> header( "Location:

http://yourdomain.com/script.php?name=".url_encode($_GET['name'])."&email=".urlencode($_GET['email']));

Thank you it worked perfectly except for the _ in the first urlencode.

Just so that I know for future reference why does the first get variable
have a . on either side but the second only has 1.

Regarding the urlencode not being there I was thinking wether I should be
doing that before infact I was looking at using rawurlencode() but wanted to
get it working first before I started with that

Cheers again

Peter
Jul 17 '05 #5
Filth wrote:
header( "Location:

http://yourdomain.com/script.php?name=".url_encode($_GET['name'])."&email=".urlencode($_GET['email']));

Thank you it worked perfectly except for the _ in the first urlencode.

Just so that I know for future reference why does the first get variable
have a . on either side but the second only has 1.

Regarding the urlencode not being there I was thinking wether I should be
doing that before infact I was looking at using rawurlencode() but wanted to
get it working first before I started with that


Whoops. My mistake with the underscore.

The "." means append, add or join. If you had more stuff to tack on the end it
would be:

blah...blah...blah...email=".urlencode($_GET['email'])."&foo=bar");

But since you didn't, you did not need the dot.

$string = "A"."B"."C"; //$string is "ABC"
$string = "A"."B"; //$string is "AB"
$string = "A"."B".""; //$string is "AB". Extra dot is not needed

Regards,
Shawn
--
Shawn Wilson
sh***@glassgiant.com
http://www.glassgiant.com
Jul 17 '05 #6
> The "." means append, add or join. If you had more stuff to tack on the
end it
would be:

blah...blah...blah...email=".urlencode($_GET['email'])."&foo=bar");

But since you didn't, you did not need the dot.

$string = "A"."B"."C"; //$string is "ABC"
$string = "A"."B"; //$string is "AB"
$string = "A"."B".""; //$string is "AB". Extra dot is not needed


Ahh brilliant explanation I now understand completely CHEERS :>

Peter
Jul 17 '05 #7

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

5 posts views Thread by bob | last post: by
reply views Thread by mcp6453 | last post: by
8 posts views Thread by Eddie | last post: by
1 post views Thread by vikjohn | last post: by
6 posts views Thread by Ramon | last post: by
1 post views Thread by CARIGAR | last post: by
reply views Thread by zhoujie | last post: by
reply views Thread by suresh191 | last post: by
1 post views Thread by Marylou17 | last post: by
By using this site, you agree to our Privacy Policy and Terms of Use.