472,342 Members | 1,747 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

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

Redirect after running PHP script

Ok this is the script that handles the form submission and input's it to the SQL database. It works 100%.
Expand|Select|Wrap|Line Numbers
  1. <?php
  2. $con = mysql_connect("*****","*****","*****");
  3. if (!$con)
  4.   {
  5.   die('Could not connect: ' . mysql_error());
  6.   }
  7. mysql_select_db("ccsdesig_first", $con);
  8. $sql="INSERT INTO ***** (Name,Surname,Number,Email,MovingFrom,MovingTo,Date) 
  9.         VALUES ('$_POST[Name]','$_POST[Surname]','$_POST[Number]','$_POST[email]','$_POST[MovingFrom]','$_POST[MovingTo]','$_POST[Date]')";
  11. $sql="INSERT INTO destination (CurrentPremises,CurrentFloor,DestinationPremises,DestinationFloor,WrapEverything,Unpack,Hangerpack,SendMaterials,InsureEverything) 
  12.         VALUES ('$_POST[CurrentPremises]','$_POST[CurrentFloor]','$_POST[DestinationPremises]','$_POST[CurrentFloor]','$_POST[WrapEverything]','$_POST[Unpack]','$_POST[Hangerpack]','$_POST[SendMaterials]','$_POST[InsureEverything]')";
  14. if (!mysql_query($sql,$con))
  15.   {
  16.   die('Error: ' . mysql_error());
  17.   }
  18. mysql_close($con)
  19.   echo "Done";
  20. ?>
What I would now like the script to do is to send the user to another page - what do I use to automatically redirect?
I've tried:
Expand|Select|Wrap|Line Numbers
  1. header("Location:http://www.xxxxxxx.com/viewguestbook2.php");
Expand|Select|Wrap|Line Numbers
  1. <META HTTP-EQUIV="refresh" content="0;URL=index.php">
And neither works - could someone point me in the right direction please?

My thanks in anticipation
Apr 20 '10 #1
16 6345
227 100+
you can use a JS to redirect user

Apr 20 '10 #2
5,058 Expert 4TB

What happened when you tried the header() function? It should have worked.
(Try turning on the error messages to see what really happened.)

You can do three things to redirect a user:
  1. Send a Location header, using the header function. - This is the preferred method, as it is the "shortest" way to send the browser the request to relocate.
  2. Add a <meta> "refresh" header. - This is a close second, only because it requires the browser to parse the HTML before actually getting the request.
  3. Send a JavaScript "location.href" value. - This should be avoided, because JavaScript can not be counted on in all cases. Users can turn off JavaScript, and some browser (and I use that term loosely) don't support it.
Apr 20 '10 #3
somehow it posted twice
Apr 20 '10 #4

I get the following error:
Parse error: syntax error, unexpected T_STRING in /home/****/public_html/insert.php on line 21
When using the following:
Expand|Select|Wrap|Line Numbers
  1. <?php
  2. error_reporting(E_ALL);
  3. ini_set('display_errors', true);
  4. $con = mysql_connect("localhost","*****","*****");
  5. if (!$con)
  6.   {
  7.   die('Could not connect: ' . mysql_error());
  8.   }
  9. mysql_select_db("*****", $con);
  10. $sql="INSERT INTO contactdetails (Name,Surname,Number,Email,MovingFrom,MovingTo,Date) 
  11.         VALUES ('$_POST[Name]','$_POST[Surname]','$_POST[Number]','$_POST[email]','$_POST[MovingFrom]','$_POST[MovingTo]','$_POST[Date]')";
  13. $sql="INSERT INTO destination (CurrentPremises,CurrentFloor,DestinationPremises,DestinationFloor,WrapEverything,Unpack,Hangerpack,SendMaterials,InsureEverything) 
  14.         VALUES ('$_POST[CurrentPremises]','$_POST[CurrentFloor]','$_POST[DestinationPremises]','$_POST[CurrentFloor]','$_POST[WrapEverything]','$_POST[Unpack]','$_POST[Hangerpack]','$_POST[SendMaterials]','$_POST[InsureEverything]')";
  16. if (!mysql_query($sql,$con))
  17.   {
  18.   die('Error: ' . mysql_error());
  19.   }
  20. mysql_close($con)
  21. header("Location: http://www.xxx.com/email.php");
  22. exit;
  23. ?>
Apr 20 '10 #5
5,058 Expert 4TB
You are missing the semi-colon (;) from line #20. All lines must end in a semi-colon.
Apr 20 '10 #6
Warning: Cannot modify header information - headers already sent by (output started at /home/****/public_html/insert.php:1) in /home/****/public_html/insert.php on line 21
Apr 20 '10 #7
227 100+
you cannot have any echo statements or none php codes before the header

ie. you cannot send any output to the browser before header()

make sure that (even a white space could case an error)

Apr 20 '10 #8
Thanks for your reply.
I checked through the code and dont think anything is posting to the browser at all. Perhaps I have missed something though?
Expand|Select|Wrap|Line Numbers
  1. <?php
  2. error_reporting(E_ALL);
  3. ini_set('display_errors', true);
  4. $con = mysql_connect("*","*","*");
  5. if (!$con)
  6.   {
  7.   die('Could not connect: ' . mysql_error());
  8.   }
  9. mysql_select_db("*", $con);
  10. $sql="INSERT INTO contactdetails (Name,Surname,Number,Email,MovingFrom,MovingTo,Date) 
  11.         VALUES ('$_POST[Name]','$_POST[Surname]','$_POST[Number]','$_POST[email]','$_POST[MovingFrom]','$_POST[MovingTo]','$_POST[Date]')";
  12. $sql="INSERT INTO destination (CurrentPremises,CurrentFloor,DestinationPremises,DestinationFloor,WrapEverything,Unpack,Hangerpack,SendMaterials,InsureEverything) 
  13.         VALUES ('$_POST[CurrentPremises]','$_POST[CurrentFloor]','$_POST[DestinationPremises]','$_POST[CurrentFloor]','$_POST[WrapEverything]','$_POST[Unpack]','$_POST[Hangerpack]','$_POST[SendMaterials]','$_POST[InsureEverything]')";
  14. if (!mysql_query($sql,$con))
  15.   {
  16.   die('Error: ' . mysql_error());
  17.   }
  18. mysql_close($con);
  19. header("Location: http://www.*.co.za/email.php");
  20. exit;
  21. ?>
Apr 20 '10 #9
Warning: Cannot modify header information - headers already sent by (output started at /home/*/public_html/insert.php:1) in /home/*/public_html/insert.php on line 19
Apr 20 '10 #10
5,058 Expert 4TB
If you are getting that error, something is being printed before the header() call.

This is usually caused by white-spaces or other junk before the <?php block, BOM chars in Unicode documents or random echos in the code. - Check the source in the browser. That should include the junk chars that are causing this. (Post it here if you want us to take a look at it.)

You can also read this article for more details about this error, and how to fix it.
Apr 20 '10 #11
I read the article - thank you.
As far as I can see I have removed all the white spaces. Below is the code - Pls can you check where I have gone wrong:
Expand|Select|Wrap|Line Numbers
  1. <?php
  2. $con = mysql_connect("*","*","*");
  3. if (!$con)
  4. {
  5. die('Could not connect: ' . mysql_error());
  6. }
  7. mysql_select_db("*", $con);
  8. $sql="INSERT INTO contactdetails (Name,Surname,Number,Email,MovingFrom,MovingTo,Date)
  9. VALUES ('$_POST[Name]','$_POST[Surname]','$_POST[Number]','$_POST[email]','$_POST[MovingFrom]','$_POST[MovingTo]','$_POST[Date]')";
  10. $sql="INSERT INTO destination (CurrentPremises,CurrentFloor,DestinationPremises,DestinationFloor,WrapEverything,Unpack,Hangerpack,SendMaterials,InsureEverything) 
  11. VALUES ('$_POST[CurrentPremises]','$_POST[CurrentFloor]','$_POST[DestinationPremises]','$_POST[CurrentFloor]','$_POST[WrapEverything]','$_POST[Unpack]','$_POST[Hangerpack]','$_POST[SendMaterials]','$_POST[InsureEverything]')";
  12. if (!mysql_query($sql,$con))
  13. {
  14. die('Error: ' . mysql_error());
  15. }
  16. mysql_close($con);
  17. header("Location: http://www.*.co.za/email.php");
  18. exit;
  19. ?>
Apr 21 '10 #12
5,058 Expert 4TB
We aren't talking about white-spaces inside the <?php .. ?> blocks, but outside them. White-spaces inside them don't matter.

Expand|Select|Wrap|Line Numbers
  1.    <?php
  2. // There are three white-spaces before the <?php tag 
  3. // above this comment. This will cause the error.
  5.    $variable = '
  6.         something
  7.         something else.';
  8. // The white-spaces in the above variable,
  9. // or the string, have no effect.
  10. ?>
Did you check out the source of the page in your browser? How did it look like?
Apr 21 '10 #13
Understood and as you can see there are no white spaces in the code I posted. I dont know how to view a PHP files source without it actually processing the script first. Once it processes the script the source is the following:
Expand|Select|Wrap|Line Numbers
  1. <br /> 
  2. <b>Warning</b>:  Cannot modify header information - headers already sent by (output started at /home/ccsdesig/public_html/insert.php:1) in <b>/home/ccsdesig/public_html/insert.php</b> on line <b>17</b><br /> 
If I open the PHP with notepad the source looks exactly the same as it does in expression web and as I posted above.
Apr 21 '10 #14
5,058 Expert 4TB
Ok. The error still points to line #1 of the file, saying the output is starting there.

I would guess that your IDE is adding a BOM to your document; a Unicode special character that is meant to tell how the Unicode chars in the document are structured.

To check and fix that, you need an editor that can re-encode the file. I've used Notepad++ for that in the past. It's a very small and simple editor. A sort of advanced version of Notepad.

You can open your document in there, select "Encoding > Encode in UTF-8 without BOM", and then save the file.

That might fix the error.
Apr 21 '10 #15
The encoding resolved it!
Thank you!
Apr 21 '10 #16
5,058 Expert 4TB
No problem. Glad it worked out :)
Apr 21 '10 #17

Sign in to post your reply or Sign up for a free account.

Similar topics

by: Sentinel | last post by:
here is the entire thread From: "Kimmo Laine" <eternal.erectionN0.5P@Mgmail.com> Subject: Re: script in body Date: Mon, 20 Jun 2005 17:46:28...
by: T Conti | last post by:
Howdy: I have converted a huge ASP page over to .Net (C#). The old page has been will be removed from our site, but I need to have a dummy page...
by: Noozer | last post by:
Is it possible to redirect a user to another web page using ASP code located in page body? I have some ASP code that runs after generating some...
by: SiteTamer | last post by:
I have a script that redirects to a file for downloading. Everything works fine EXCEPT: if the target of the redirect is type video/mpeg (extension...
by: Drebin | last post by:
I posted this over at the ASP.NET group, but you guys are pretty sharp - is this an obvious answer for anyone?? I'm really jammed up!! ...
by: Drebin | last post by:
I am retrofitting a central login application and want to be able to read the Request.ServerVariables so that when they have logged on, I can send...
by: Josselin | last post by:
I have a page 'pni.php' to which paypal is redirecting after payment thsi page contains a db update script, no problem it's running well but...
by: Dave | last post by:
Is there a way to do a Response.Redirect and do a popup on the redirect?
by: venner | last post by:
I'm having an issue with an ASP.NET website after upgrading to ASP.NET 2.0. The website makes use of a central authentication service (CAS)...
by: gnawz | last post by:
Hi guys, I have a couple of php files that perform various tasks. I will use fields in my system and provide code as well I need help as...
by: concettolabs | last post by:
In today's business world, businesses are increasingly turning to PowerApps to develop custom business applications. PowerApps is a powerful tool...
by: better678 | last post by:
Question: Discuss your understanding of the Java platform. Is the statement "Java is interpreted" correct? Answer: Java is an object-oriented...
by: teenabhardwaj | last post by:
How would one discover a valid source for learning news, comfort, and help for engineering designs? Covering through piles of books takes a lot of...
by: Kemmylinns12 | last post by:
Blockchain technology has emerged as a transformative force in the business world, offering unprecedented opportunities for innovation and...
by: Naresh1 | last post by:
What is WebLogic Admin Training? WebLogic Admin Training is a specialized program designed to equip individuals with the skills and knowledge...
by: antdb | last post by:
Ⅰ. Advantage of AntDB: hyper-convergence + streaming processing engine In the overall architecture, a new "hyper-convergence" concept was...
by: Matthew3360 | last post by:
Hi, I have a python app that i want to be able to get variables from a php page on my webserver. My python app is on my computer. How would I make it...
by: WisdomUfot | last post by:
It's an interesting question you've got about how Gmail hides the HTTP referrer when a link in an email is clicked. While I don't have the specific...
by: Matthew3360 | last post by:
Hi, I have been trying to connect to a local host using php curl. But I am finding it hard to do this. I am doing the curl get request from my web...

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.