Improve company productivity with a Business Account.Sign Up

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 371
  • Last Modified:

How do I make this Refresh work when processing a form

Experts,
How do I make the 'Refresh' function work and go to the desired URL after processing a form script.  Everything works on the script except for the refresh.  (This same script with refresh works just fine on another script)  

When I run the script, I get the following information in the returned data from my echo statements:
2
02-23-2011
Sample Comment
2  

This is the only thing not working on the page:
header("Refresh: 0;url=http://www.url.com/NewSite/seniorwatch_viewrecord.php?id='".$id."'");

Thanks for your help!
<?php
include("global.inc.php");
$errors=0;
$error="The following errors occured while processing your form input.<ul>";
pt_register('POST','Date');
pt_register('POST','id');
pt_register('POST','comment');
if($errors==1) echo $error;
else{
$where_form_is="http".($HTTP_SERVER_VARS["HTTPS"]=="on"?"s":"")."://".$SERVER_NAME.strrev(strstr(strrev($PHP_SELF),"/"));
$message="Date: ".$Date."
Date: ".$Date."
ID: ".$id."
Notes: ".$comment."
";
$message = stripslashes($message);
echo $id;
echo $Date;
echo $comment;
mail("my_email","Org",$message,"From: Me");
$link = mysql_connect("HOST","UN","PW");
mysql_select_db("DB",$link);
$query="INSERT into `comments` (id, comment, Date) values ('".$id."','".$comment."','".$Date."')";
mysql_query($query);
header("Refresh: 0;url=http://www.url.com/NewSite/seniorwatch_viewrecord.php?id='".$id."'");
echo $id;
}
?>

Open in new window

0
rlb1
Asked:
rlb1
3 Solutions
 
racastillojrCommented:
try puting this in the head tag:

<meta HTTP-EQUIV="REFRESH" content="0; url=http://www.url.com/NewSite/seniorwatch_viewrecord.php?id='".$id."'">
0
 
racastillojrCommented:
the number in the content section is how many seconds before the page is refreshed
0
 
Ovid BurkeConsultant InstructorCommented:
If you put it in the HEAD of your HTML, you will also need to establish some sort of condition with php so that is does not go before you submit the form. However if the idea is to go to a different page right after PHP successfully processes your form, you should use:

header("Location: http://www.url.com/NewSite/seniorwatch_viewrecord.php?id=$id");

Open in new window

0
Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

 
MatthewPCommented:
Do you mean to have the single quotes round the id? You are trying to send it to http://www.url.com/NewSite/seniorwatch_viewrecord.php?id='your-id-here'

ie the single quotes are part of the url.

As you don't need to build up the string using double quotes you should find that this works fine:

header("Refresh: 0;url=http://www.url.com/NewSite/seniorwatch_viewrecord.php?id=$id");
0
 
MatthewPCommented:
The above will work with single quotes in the url too if they are required for some reason.

You will have problems sending headers if you break the string (ie where the " are) - you should always keep the whole header to one set of single quotes and drop any variables in inside them.

0
 
rlb1Author Commented:
Thanks Matthew P!  It worked great!
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Keep up with what's happening at Experts Exchange!

Sign up to receive Decoded, a new monthly digest with product updates, feature release info, continuing education opportunities, and more.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now