Solved

Undefined variable on 2nd page in multi page form

Posted on 2008-06-09
4
336 Views
Last Modified: 2009-12-16
Notice: Undefined variable: error_msg in D:\data\Inetpub\wwwweb_verynew\mobile_form\plan.php on line 15

15: if ($error_msg){
16: $_SESSION['error_prn']=$error_msg;
17: header("Location: page1.php");
18: }

Here is where the error_msg is set:
if ($_POST['email'] === $_POST['vemail']){ //AND check_email($_POST['email'])){
$_SESSION['email']=$_POST['email'];
} else {
$error_msg .= "E-mail addresses don't match";      
}

Any thoughts?
0
Comment
Question by:vrmetro
  • 2
4 Comments
 
LVL 82

Assisted Solution

by:hielo
hielo earned 250 total points
ID: 21744822
>>Here is where the error_msg is set:...
but that must appear before line 15 on the SAME php file. Also, if you are using dot equal
$error_msg .= "E-mail addresses don't match";  

then $error_msg should be initialized to "". You could even try changing line 15 to:
if ( !empty($error_msg) ){
0
 
LVL 29

Expert Comment

by:fibo
ID: 21744848
I would think that when the page is first launched $error_msg is not defined, nor set.
You might try something like:

$error_msg='';
....
if ($_POST['email'] === $_POST['vemail']){ //AND check_email($_POST['email'])){
$_SESSION['email']=$_POST['email'];
} else {
$error_msg .= "E-mail addresses don't match";      
};
...

15: if ($error_msg <> '' ){
16: $_SESSION['error_prn']=$error_msg;
17: header("Location: page1.php");
18: }

0
 

Author Comment

by:vrmetro
ID: 21744926
I'm sorry, this is the 2nd page, in a multi-page form, and the error msg is set after validation, see below entire code.

<?php
session_start();

if ($_POST['email'] === $_POST['vemail']){ //AND check_email($_POST['email'])){
      $_SESSION['email']=$_POST['email'];
} else {
      $error_msg .= "E-mail addresses don't match";      
}
$_SESSION ['name'] = $_POST ['name'];
$_SESSION ['mobile_num'] = $_POST ['mobile_num'];
$_SESSION ['password'] = $_POST ['password'];
$_SESSION ['country'] = $_POST ['country'];

//Validation Ended
if ($error_msg){
      $_SESSION['error_prn']=$error_msg;
      header("Location: page1.php");
}

//function check_email($addr){
//      return preg_match(".+@.+.[\d\D]+",$addr);
//}
//$_SESSION = $_POST;
?>
0
 
LVL 82

Accepted Solution

by:
hielo earned 250 total points
ID: 21745010
Like I said before, initialize the variable
<?php

session_start();

$error_msg="";

if ($_POST['email'] === $_POST['vemail']){ //AND check_email($_POST['email'])){

      $_SESSION['email']=$_POST['email'];

} else {

      $error_msg .= "E-mail addresses don't match";      

}

$_SESSION ['name'] = $_POST ['name'];

$_SESSION ['mobile_num'] = $_POST ['mobile_num'];

$_SESSION ['password'] = $_POST ['password'];

$_SESSION ['country'] = $_POST ['country'];
 

//Validation Ended

if ( !empty($error_msg) ){

      $_SESSION['error_prn']=$error_msg;

      header("Location: page1.php");

}
 

//function check_email($addr){

//      return preg_match(".+@.+.[\d\D]+",$addr);

//}

//$_SESSION = $_POST;

?>

Open in new window

0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

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

Consider the following scenario: You are working on a website and make something great - something that lets the server work with information submitted by your users. This could be anything, from a simple guestbook to a e-Money solution. But what…
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…
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 dynamically set the form action using jQuery.

929 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

Need Help in Real-Time?

Connect with top rated Experts

17 Experts available now in Live!

Get 1:1 Help Now