-1

Today i was working on customer mail form and then i got this notice several time. Please anyone suggest me the proper solution for this issue.

<?php
    if(isset($_REQUEST['Submit']))
    {
    $name = $_REQUEST['name'];
    $phone = $_REQUEST['phone'];
    $email = $_REQUEST['email'];
    $movingfrom = $_REQUEST['movingfrom'];
    $movingto= $_REQUEST['movingto'];
    $describe = $_REQUEST['describe'];
    $weburl = $_REQUEST['weburl'];
    $url =$_SERVER['HTTP_REFERER'];
    $ip=$_SERVER['REMOTE_ADDR'];
    $sub="Enquiry Mail from : ".$_REQUEST['email'];
    $from=$_REQUEST['email'];   
    }
    function getUserIpAddr()
    {
        if (!empty($_SERVER['HTTP_CLIENT_IP'])) //if from shared
        {
            return $_SERVER['HTTP_CLIENT_IP'];
        }
        else if (!empty($_SERVER['HTTP_X_FORWARDED_FOR']))   //if from a proxy
        {
            return $_SERVER['HTTP_X_FORWARDED_FOR'];
        }
        else
        {
            return $_SERVER['REMOTE_ADDR'];
        }
    }
    if(($name == NULL) &&( $name== ""))
    {
    echo "Name is Mandatory  <br>";
    }
    if(($email == NULL) &&($email == ""))
    {
    echo "Email is Mandatory  <br>";
    }
    /*
    if(!eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$", $email)) {
      echo "Valid Email is Mandatory  <br>";
      }
     */
    if(($phone == NULL) &&($phone == ""))
    {
    echo "Phone No. is Mandatory <br>";
    }
    if(($movingfrom == NULL) &&($movingfrom == ""))
    {
    echo "Moving From City is Mandatory <br>";
    }

    if(($movingto == NULL) &&($movingto == ""))
    {
    echo "Moving To City is Mandatory <br>";
    }

    if(  (($email != NULL) && ($email != "")) && (($name != NULL) && ($name != "")) && (($phone != NULL) && ($phone != "")) && (($movingfrom != NULL) && ($movingfrom != ""))&& (($movingto != NULL) && ($movingto != "")) ) 
    {
            $msg.="----------------------------------------------------------------\n";
            $msg.="From:-\n";
            $msg.="Name            :$name\n";
            $msg.="Mobile          :$phone\n";
            $msg.="Email           :$email\n";
            $msg.="Moving From     :$movingfrom\n";
            $msg.="Moving to       :$movingto\n";
            $msg.="----------------------------------------------------------------\n\n";
            $msg.="Advertisement :-\n";
            $msg.="$describe\n";
            $msg.="REFERRER :                        $url\n";
            $msg.="IP Address: " . getUserIpAddr();

            $headers = "From: ${email}\n Reply-To: ${email}";

           mail("abc@xyx.in","Enquiry Mail from: xyz", "$msg","From:$email");

             echo "<script language=\"JavaScript\">\n";
             echo "<!-- hide from old browser\n\n";

        echo "function redirect() {\n";
        echo "window.location = \"" . "http://localhost/thanks" . "\";\n";
        echo "}\n\n";

        echo "timer = setTimeout('redirect()', '" . ($seconds*1000) . "');\n\n";

        echo "-->\n";
        echo "</script>\n"; 

    }
    else
    {
    header("location:localhost/index.php");
    }
    ?>

Notice: Undefined variable: msg in quote.php on line 59

Notice: Undefined index: weburl quote.php on line 10

I found these above issue. Please anyone help me to fix this problem.

kumar217
  • 11
  • 5
  • Duplicate of https://stackoverflow.com/questions/4261133/notice-undefined-variable-notice-undefined-index-and-notice-undefined – 04FS Feb 21 '19 at 09:10

4 Answers4

0

you need to define in the start of the code $msg like $msg = '' before concatenating it...

$msg.="----------------------------------------------------------------\n";

you are concatenating it here but you have not define it anywhere before...

for isset you need to check the array value is set or not before using it...

if(isset( $_REQUEST['weburl'])){
 $weburl = $_REQUEST['weburl'];
} 
Sayed Mohd Ali
  • 2,156
  • 3
  • 12
  • 28
0

It's simple.

  1. Declare msg variable on the starting of the function as $msg='';
  2. The data is not coming in $_REQUEST['weburl'], you can handle it with if statement and isset builtin function.

I am updating the code, you can just copy and paste it.

    <?php
    if(isset($_REQUEST['Submit']))
    {
    $name = $_REQUEST['name'];
    $phone = $_REQUEST['phone'];
    $email = $_REQUEST['email'];
    $movingfrom = $_REQUEST['movingfrom'];
    $movingto= $_REQUEST['movingto'];
    $describe = $_REQUEST['describe'];

   if(isset($_REQUEST['weburl']) && $_REQUEST['weburl']!=''){
       $weburl = $_REQUEST['weburl'];
   }else{
       $weburl = '';
   }


    $url =$_SERVER['HTTP_REFERER'];
    $ip=$_SERVER['REMOTE_ADDR'];
    $sub="Enquiry Mail from : ".$_REQUEST['email'];
    $from=$_REQUEST['email'];   
    }
    function getUserIpAddr()
    {
        if (!empty($_SERVER['HTTP_CLIENT_IP'])) //if from shared
        {
            return $_SERVER['HTTP_CLIENT_IP'];
        }
        else if (!empty($_SERVER['HTTP_X_FORWARDED_FOR']))   //if from a proxy
        {
            return $_SERVER['HTTP_X_FORWARDED_FOR'];
        }
        else
        {
            return $_SERVER['REMOTE_ADDR'];
        }
    }
    if(($name == NULL) &&( $name== ""))
    {
    echo "Name is Mandatory  <br>";
    }
    if(($email == NULL) &&($email == ""))
    {
    echo "Email is Mandatory  <br>";
    }
    /*
    if(!eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$", $email)) {
      echo "Valid Email is Mandatory  <br>";
      }
     */
    if(($phone == NULL) &&($phone == ""))
    {
    echo "Phone No. is Mandatory <br>";
    }
    if(($movingfrom == NULL) &&($movingfrom == ""))
    {
    echo "Moving From City is Mandatory <br>";
    }

    if(($movingto == NULL) &&($movingto == ""))
    {
    echo "Moving To City is Mandatory <br>";
    }


    $msg="";


    if(  (($email != NULL) && ($email != "")) && (($name != NULL) && ($name != "")) && (($phone != NULL) && ($phone != "")) && (($movingfrom != NULL) && ($movingfrom != ""))&& (($movingto != NULL) && ($movingto != "")) ) 
    {
            $msg.="----------------------------------------------------------------\n";
            $msg.="From:-\n";
            $msg.="Name            :$name\n";
            $msg.="Mobile          :$phone\n";
            $msg.="Email           :$email\n";
            $msg.="Moving From     :$movingfrom\n";
            $msg.="Moving to       :$movingto\n";
            $msg.="----------------------------------------------------------------\n\n";
            $msg.="Advertisement :-\n";
            $msg.="$describe\n";
            $msg.="REFERRER :                        $url\n";
            $msg.="IP Address: " . getUserIpAddr();

            $headers = "From: ${email}\n Reply-To: ${email}";

           mail("abc@xyx.in","Enquiry Mail from: xyz", "$msg","From:$email");

             echo "<script language=\"JavaScript\">\n";
             echo "<!-- hide from old browser\n\n";

        echo "function redirect() {\n";
        echo "window.location = \"" . "http://localhost/thanks" . "\";\n";
        echo "}\n\n";

        echo "timer = setTimeout('redirect()', '" . ($seconds*1000) . "');\n\n";

        echo "-->\n";
        echo "</script>\n"; 

    }
    else
    {
    header("location:localhost/index.php");
    }
    ?>
Shehroz Altaf
  • 618
  • 1
  • 10
  • 17
0

Modify your code like this it will work for you.

<?php
    if(isset($_REQUEST['Submit']))
    {
    $name = $_REQUEST['name'];
    $phone = $_REQUEST['phone'];
    $email = $_REQUEST['email'];
    $movingfrom = $_REQUEST['movingfrom'];
    $movingto= $_REQUEST['movingto'];
    $describe = $_REQUEST['describe'];
    if(isset($_REQUEST['weburl']))
      $weburl = $_REQUEST['weburl'];
    $url =$_SERVER['HTTP_REFERER'];
    $ip=$_SERVER['REMOTE_ADDR'];
    $sub="Enquiry Mail from : ".$_REQUEST['email'];
    $from=$_REQUEST['email'];   
    }
    function getUserIpAddr()
    {
        if (!empty($_SERVER['HTTP_CLIENT_IP'])) //if from shared
        {
            return $_SERVER['HTTP_CLIENT_IP'];
        }
        else if (!empty($_SERVER['HTTP_X_FORWARDED_FOR']))   //if from a proxy
        {
            return $_SERVER['HTTP_X_FORWARDED_FOR'];
        }
        else
        {
            return $_SERVER['REMOTE_ADDR'];
        }
    }
    if(($name == NULL) &&( $name== ""))
    {
    echo "Name is Mandatory  <br>";
    }
    if(($email == NULL) &&($email == ""))
    {
    echo "Email is Mandatory  <br>";
    }
    /*
    if(!eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$", $email)) {
      echo "Valid Email is Mandatory  <br>";
      }
     */
    if(($phone == NULL) &&($phone == ""))
    {
    echo "Phone No. is Mandatory <br>";
    }
    if(($movingfrom == NULL) &&($movingfrom == ""))
    {
    echo "Moving From City is Mandatory <br>";
    }

    if(($movingto == NULL) &&($movingto == ""))
    {
    echo "Moving To City is Mandatory <br>";
    }

    if(  (($email != NULL) && ($email != "")) && (($name != NULL) && ($name != "")) && (($phone != NULL) && ($phone != "")) && (($movingfrom != NULL) && ($movingfrom != ""))&& (($movingto != NULL) && ($movingto != "")) ) 
    {
            $msg = "";                                                                                             $msg.="----------------------------------------------------------------\n";
            $msg.="From:-\n";
            $msg.="Name            :$name\n";
            $msg.="Mobile          :$phone\n";
            $msg.="Email           :$email\n";
            $msg.="Moving From     :$movingfrom\n";
            $msg.="Moving to       :$movingto\n";
            $msg.="----------------------------------------------------------------\n\n";
            $msg.="Advertisement :-\n";
            $msg.="$describe\n";
            $msg.="REFERRER :                        $url\n";
            $msg.="IP Address: " . getUserIpAddr();

            $headers = "From: ${email}\n Reply-To: ${email}";

           mail("abc@xyx.in","Enquiry Mail from: xyz", "$msg","From:$email");

             echo "<script language=\"JavaScript\">\n";
             echo "<!-- hide from old browser\n\n";

        echo "function redirect() {\n";
        echo "window.location = \"" . "http://localhost/thanks" . "\";\n";
        echo "}\n\n";

        echo "timer = setTimeout('redirect()', '" . ($seconds*1000) . "');\n\n";

        echo "-->\n";
        echo "</script>\n"; 

    }
    else
    {
    header("location:localhost/index.php");
    }
    ?>

Use Isset for all your request variables so you will never get any Notice is some value are not coming.

Hope It will helps you.

Gaurav Kandpal
  • 1,250
  • 2
  • 15
  • 33
0
  1. You need to initialise $msg variable.
  2. Write isset condition for $_REQUEST['weburl'] ;.

Your updated code like :

<?php
        if(isset($_REQUEST['Submit']))
        {
    $msg='';
        $name = $_REQUEST['name'];
        $phone = $_REQUEST['phone'];
        $email = $_REQUEST['email'];
        $movingfrom = $_REQUEST['movingfrom'];
        $movingto= $_REQUEST['movingto'];
        $describe = $_REQUEST['describe'];
    if(isset($_REQUEST['weburl'])){
            $weburl = $_REQUEST['weburl'];
    }else{
     $weburl ='';
    }
        $url =$_SERVER['HTTP_REFERER'];
        $ip=$_SERVER['REMOTE_ADDR'];
        $sub="Enquiry Mail from : ".$_REQUEST['email'];
        $from=$_REQUEST['email'];   
        }
        function getUserIpAddr()
        {
            if (!empty($_SERVER['HTTP_CLIENT_IP'])) //if from shared
            {
                return $_SERVER['HTTP_CLIENT_IP'];
            }
            else if (!empty($_SERVER['HTTP_X_FORWARDED_FOR']))   //if from a proxy
            {
                return $_SERVER['HTTP_X_FORWARDED_FOR'];
            }
            else
            {
                return $_SERVER['REMOTE_ADDR'];
            }
        }
        if(($name == NULL) &&( $name== ""))
        {
        echo "Name is Mandatory  <br>";
        }
        if(($email == NULL) &&($email == ""))
        {
        echo "Email is Mandatory  <br>";
        }
        /*
        if(!eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$", $email)) {
          echo "Valid Email is Mandatory  <br>";
          }
         */
        if(($phone == NULL) &&($phone == ""))
        {
        echo "Phone No. is Mandatory <br>";
        }
        if(($movingfrom == NULL) &&($movingfrom == ""))
        {
        echo "Moving From City is Mandatory <br>";
        }

        if(($movingto == NULL) &&($movingto == ""))
        {
        echo "Moving To City is Mandatory <br>";
        }

        if(  (($email != NULL) && ($email != "")) && (($name != NULL) && ($name != "")) && (($phone != NULL) && ($phone != "")) && (($movingfrom != NULL) && ($movingfrom != ""))&& (($movingto != NULL) && ($movingto != "")) ) 
        {
                $msg.="----------------------------------------------------------------\n";
                $msg.="From:-\n";
                $msg.="Name            :$name\n";
                $msg.="Mobile          :$phone\n";
                $msg.="Email           :$email\n";
                $msg.="Moving From     :$movingfrom\n";
                $msg.="Moving to       :$movingto\n";
                $msg.="----------------------------------------------------------------\n\n";
                $msg.="Advertisement :-\n";
                $msg.="$describe\n";
                $msg.="REFERRER :                        $url\n";
                $msg.="IP Address: " . getUserIpAddr();

                $headers = "From: ${email}\n Reply-To: ${email}";

               mail("abc@xyx.in","Enquiry Mail from: xyz", "$msg","From:$email");

                 echo "<script language=\"JavaScript\">\n";
                 echo "<!-- hide from old browser\n\n";

            echo "function redirect() {\n";
            echo "window.location = \"" . "http://localhost/thanks" . "\";\n";
            echo "}\n\n";

            echo "timer = setTimeout('redirect()', '" . ($seconds*1000) . "');\n\n";

            echo "-->\n";
            echo "</script>\n"; 

        }
        else
        {
        header("location:localhost/index.php");
        }
        ?>
JIJOMON K.A
  • 1,290
  • 3
  • 12
  • 29