Go Premium for a chance to win a PS4. Enter to Win

x
?
Solved

Confirmation message on same page

Posted on 2007-12-06
7
Medium Priority
?
638 Views
Last Modified: 2012-05-05
I've been wondering how I can display confirmation or error messages inside the same page, kind of like what the admin area of wordpress does.

For example if a user updates a database table through a form field and it's a success then the user would be returned back to the original page (using the php header function) with the confirmation echoed inside a <div> tag or something similar.

Or how about when a user tries to log in and enters the wrong username or password. How would I then display a message like "Sorry, try again" on the same page as the form?

Anyone got any ideas how to do this? it would help me a lot for my project!
0
Comment
Question by:thephiller
  • 3
  • 2
  • 2
7 Comments
 
LVL 10

Accepted Solution

by:
wildzero earned 2000 total points
ID: 20422573
You could use sessions to do this which would mean it wouldn't effect your URL.
eg
Lets say they update there table, at the top of the php make sure to have
session_start();

then have like

If (do this operation) {
  //-- do some fancy stuff.
  $_SESSION['message'] = 'Operation was complete';
}

now all we have to do is call out the message when we want to display it, if it's set. So on your original page, make sure to have session_start(); at the very very top then have like

<?PHP
If (isset($_SESSION['message'])) {
  echo "<div>".$_SESSION['message']."</div>";
  unset($_SESSION['message']);
}
?>

Notice the unset there - this means if they refresh the page the message wont show again.

That make sense?
0
 
LVL 1

Expert Comment

by:deanmb
ID: 20422652
here is a very simple way..  on the main main page put sessions like
start the session on both pages with

session_start();  
header("Cache-control: private");

then on the main page put sessions like

echo $_SESSION["confirmation"]; // this echos the session
unset($_SESSION['confirmation']); //this unsets it so if they hit back or forward its no longer there

then on the page that does the login or whatever put

if($password == $dbpassword){ //or whatever your if statement is
Header("Location:yourmainpage.php");
$_SESSION["confirmation"] = "your confirmation message";
}else{
Header("yourmainpage.php");
$_SESSION["confirmation"] = "error message";
}
0
 
LVL 1

Expert Comment

by:deanmb
ID: 20422673
Very sorry wildzero i was typing my message when you submitted yours, funny we had the same idea and i thought mine was original haha.  Sorry again.
0
VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

 
LVL 10

Expert Comment

by:wildzero
ID: 20422680
hehe yea it sucks to get pipped at the post :-) happens alot lol
0
 

Author Comment

by:thephiller
ID: 20422757
Hahaha, thanks for the enthusiastic reaction guys. I'll try it out now and report back ;)
0
 

Author Comment

by:thephiller
ID: 20423161
Thanks both!

I did give the points to wildzero since he replied first. I hope this is the OK way to do this? (i'm fairly new).
Thanks again, solution worked like a charm.
0
 
LVL 10

Expert Comment

by:wildzero
ID: 20423172
Sure, but I didn't mind a split since it was so close :-)
0

Featured Post

Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

Question has a verified solution.

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

Build an array called $myWeek which will hold the array elements Today, Yesterday and then builds up the rest of the week by the name of the day going back 1 week.   (CODE) (CODE) Then you just need to pass your date to the function. If i…
Nothing in an HTTP request can be trusted, including HTTP headers and form data.  A form token is a tool that can be used to guard against request forgeries (CSRF).  This article shows an improved approach to form tokens, making it more difficult to…
The viewer will learn how to count occurrences of each item in an array.
The viewer will learn how to create a basic form using some HTML5 and PHP for later processing. Set up your basic HTML file. Open your form tag and set the method and action attributes.: (CODE) Set up your first few inputs one for the name and …
Suggested Courses

824 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