?
Solved

How do I make this Refresh work when processing a form

Posted on 2011-02-23
6
Medium Priority
?
367 Views
Last Modified: 2013-12-13
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
Comment
Question by:rlb1
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
6 Comments
 
LVL 4

Assisted Solution

by:racastillojr
racastillojr earned 400 total points
ID: 34966402
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
 
LVL 4

Expert Comment

by:racastillojr
ID: 34966408
the number in the content section is how many seconds before the page is refreshed
0
 
LVL 11

Assisted Solution

by:Ovid Burke
Ovid Burke earned 400 total points
ID: 34966693
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
Secure Your WordPress Site: 5 Essential Approaches

WordPress is the web's most popular CMS, but its dominance also makes it a target for attackers. Our eBook will show you how to:

Prevent costly exploits of core and plugin vulnerabilities
Repel automated attacks
Lock down your dashboard, secure your code, and protect your users

 
LVL 6

Accepted Solution

by:
MatthewP earned 1200 total points
ID: 34966704
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
 
LVL 6

Expert Comment

by:MatthewP
ID: 34966726
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
 

Author Closing Comment

by:rlb1
ID: 34966940
Thanks Matthew P!  It worked great!
0

Featured Post

What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Since pre-biblical times, humans have sought ways to keep secrets, and share the secrets selectively.  This article explores the ways PHP can be used to hide and encrypt information.
Many old projects have bad code, but the budget doesn't exist to rewrite the codebase. You can update this code to be safer by introducing contemporary input validation, sanitation, and safer database queries.
Explain concepts important to validation of email addresses with regular expressions. Applies to most languages/tools that uses regular expressions. Consider email address RFCs: Look at HTML5 form input element (with type=email) regex pattern: T…
The viewer will learn how to count occurrences of each item in an array.
Suggested Courses

771 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question