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

rlb1Asked:
Who is Participating?

[Webinar] Streamline your web hosting managementRegister Today

x
 
MatthewPConnect With a Mentor Commented:
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
 
racastillojrConnect With a Mentor Commented:
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
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.

 
Ovid BurkeConnect With a Mentor Creative DirectorCommented:
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
 
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
All Courses

From novice to tech pro — start learning today.