473,396 Members | 1,864 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,396 software developers and data experts.

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 18249
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 thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

5
by: bob | last post by:
I use the following code to redirect the browser on an error, header("location:error.php"); exit; Is it possible to pass POST variables on as if a form was submitted, using header()? Thanks...
0
by: mcp6453 | last post by:
I am trying to use Jack's FormMail script (http://www.dtheatre.com/scripts/formmail). Since I'm brand new at PHP and not very good at HTML, I have an easy question, which I will narrow down. When...
8
by: baustin75 | last post by:
Posted: Mon Oct 03, 2005 1:41 pm Post subject: cannot mail() in ie only when debugging in php designer 2005 -------------------------------------------------------------------------------- ...
6
by: James Radke | last post by:
Hello, I have a multithreaded windows NT service application (vb.net 2003) that I am working on (my first one), which reads a message queue and creates multiple threads to perform the processing...
2
by: dalsoth | last post by:
Hi Guys I have created a website and to makes things easier i decided to use dreamweaver to do the secure login section and access levels for the pages. When testing locally on wamp my website...
1
tolkienarda
by: tolkienarda | last post by:
hi all i seem to be having a problem with session variables, and registering sessions. i am runing wamp5 and i think that i need to change something in the php.ini file cause i basicaly coppied...
8
by: Eddie | last post by:
I am having difficulty in setting variables in a session, and then accessing those variables throughout the web pages that they click on. After having them set a user name and password,...
1
by: vikjohn | last post by:
I have a new perl script sent to me which is a revision of the one I am currently running. The permissions are the same on each, the paths are correct but I am getting the infamous : The specified...
6
by: Ramon | last post by:
Is there a way to initialize the variables (or other data) of a header file by using a function (similar to main() function)?? Thankx
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.