【问题标题】:php undefined index and variable errorphp未定义索引和变量错误
【发布时间】:2017-09-29 06:44:16
【问题描述】:

页面将所有索引和变量显示为错误。

所有代码在我看来都可以,但无法正常工作。我环顾了社区并检查了一些解决方案,但一无所获。

这是代码:

    <?php
    $result="";
    if($_POST['submit']){
        if(!$_POST['name']){
             $error="<h3>FORM NOT SUBMITTED (try again)</h3>Please enter your name.";
        };
        if(!$_POST['phone']){
            $error.="<br>Please enter your phone no.";
        };
        if(!$_POST['address']){
            $error.="<br>Please enter your address.";
        };   
        if(!$_POST['pin']){
            $error.="<br>Please enter your Pincode.";
        };
        if(!$_POST['date']){
            $error.="<br>Please enter the Date.";
        };
        if(!$_POST['time']){
            $error.="<br>Please enter the time.";
        };
        if($error){
            $result='<div class="alert alert-danger alert-dismissible">'.$error.'</div>';
        }
        else{

            if ( mail("rhinoaid@gmail.com", "Service Needed", 
                "Name: ".$_POST['name']."

                Phone no: ".$_POST['phone']."

                Address: ".$_POST['address']."

                Pincode: ".$_POST['pin']."

                Date: ".$_POST['date']."

                Time: ".$_POST['time']
            )) {
                $done="<h3>FORM SUBMITTED SUCCESSFULLY</h3>Thank you! RHINOaid will contact you shortly.";
                $result='<div class="alert alert-success">'.$done.'</div>';
            };
        };

    };
?>
<!DOCTYPE html>
<html lang="en">
<head>
    <title>Bootstrap Example</title>
<meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>   

</head>

<body>
    <div class="container-fluid">
         <form method="post" action="">  
            <?php echo $result; ?>
            <div class="form-group">
                <label for="name">Name:</label>
                <input type="text" class="form-control" id="name" placeholder="Enter Name" name="name" value="<?php echo $_POST['name']; ?>">
            </div>
            <div class="form-group">
                <label for="Phone">Phone:</label>
                <input type="number" class="form-control" id="phone" placeholder="Enter Phone no." name="phone" value="<?php echo $_POST['phone']; ?>">
            </div>
            <div class="form-group">
                <label for="address">Address:</label>
                <input type="text" class="form-control" id="address" placeholder="Enter Address/Venue" name="address" value="<?php echo $_POST['address']; ?>">
            </div>
            <div class="form-group">
                <label for="pin">Pincode:</label>
                <input type="number" class="form-control" id="pin" placeholder="Enter Pincode" name="pin" value="<?php echo $_POST['pin']; ?>">
            </div>
            <div class="form-group">
                <label for="date">Date:</label>
                <input type="date" class="form-control" id="date" placeholder="dd/mm/yy" name="date" value="<?php echo $_POST['date']; ?>">
            </div>
            <div class="radio">
                <label><input type="radio" name="time" value="From 9am to 12pm">From 9am to 12pm</label>
            </div>
            <div class="radio">
                <label><input type="radio" name="time" value="From 12pm to 5pm">From 12pm to 5pm</label>
            </div>
            <div class="radio">
                <label><input type="radio" name="time" value="From 5pm to 9pm">From 5pm to 9pm</label>
            </div> 
            <input type="submit" name="submit" class="btn btn-success btn-sm" value="submit">
            <small>By submitting you agree to our <a href="tc.html">terms</a> and <a href="policy.html">policy</a></small>
        </form>
    </div>
 </body>

</html>

【问题讨论】:

标签: php twitter-bootstrap forms


【解决方案1】:

在提交和所有其他帖子上检查 isset()

if (isset($_POST['submit'])) {

}

根据您的代码

 <?php
    $result="";
    $error='';
    if(isset($_POST['submit'])){
        if(!isset($_POST['name'])){
             $error="<h3>FORM NOT SUBMITTED (try again)</h3>Please enter your name.";
        };
        if(!isset($_POST['phone'])){
            $error.="<br>Please enter your phone no.";
        };
        if(!isset($_POST['address'])){
            $error.="<br>Please enter your address.";
        };   
        if(!isset($_POST['pin'])){
            $error.="<br>Please enter your Pincode.";
        };
        if(!isset($_POST['date'])){
            $error.="<br>Please enter the Date.";
        };
        if(!isset($_POST['time'])){
            $error.="<br>Please enter the time.";
        };
        if(isset($error)&!empty($error)){
            $result='<div class="alert alert-danger alert-dismissible">'.$error.'</div>';
        }
        else{

            if ( mail("rhinoaid@gmail.com", "Service Needed", 
                "Name: ".$_POST['name']."

                Phone no: ".$_POST['phone']."

                Address: ".$_POST['address']."

                Pincode: ".$_POST['pin']."

                Date: ".$_POST['date']."

                Time: ".$_POST['time']
            )) {
                $done="<h3>FORM SUBMITTED SUCCESSFULLY</h3>Thank you! RHINOaid will contact you shortly.";
                $result='<div class="alert alert-success">'.$done.'</div>';
            };
        };

    };
?>
<!DOCTYPE html>
<html lang="en">
<head>
    <title>Bootstrap Example</title>
<meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>   

</head>

<body>
    <div class="container-fluid">
         <form method="post" action="">  
            <?php echo $result; ?>
            <div class="form-group">
                <label for="name">Name:</label>
                <input type="text" class="form-control" id="name" placeholder="Enter Name" name="name" value="<?php echo isset($_POST['name'])?$_POST['name']:''; ?>">
            </div>
            <div class="form-group">
                <label for="Phone">Phone:</label>
                <input type="number" class="form-control" id="phone" placeholder="Enter Phone no." name="phone" value="<?php echo isset($_POST['phone'])?$_POST['phone']:''; ?>">
            </div>
            <div class="form-group">
                <label for="address">Address:</label>
                <input type="text" class="form-control" id="address" placeholder="Enter Address/Venue" name="address" value="<?php echo isset($_POST['address'])?$_POST['address']:''; ?>">
            </div>
            <div class="form-group">
                <label for="pin">Pincode:</label>
                <input type="number" class="form-control" id="pin" placeholder="Enter Pincode" name="pin" value="<?php echo isset($_POST['pin'])?$_POST['pin']:''; ?>">
            </div>
            <div class="form-group">
                <label for="date">Date:</label>
                <input type="date" class="form-control" id="date" placeholder="dd/mm/yy" name="date" value="<?php echo isset($_POST['date'])?$_POST['date']:''; ?>">
            </div>
            <div class="radio">
                <label><input type="radio" name="time" value="From 9am to 12pm">From 9am to 12pm</label>
            </div>
            <div class="radio">
                <label><input type="radio" name="time" value="From 12pm to 5pm">From 12pm to 5pm</label>
            </div>
            <div class="radio">
                <label><input type="radio" name="time" value="From 5pm to 9pm">From 5pm to 9pm</label>
            </div> 
            <input type="submit" name="submit" class="btn btn-success btn-sm" value="submit">
            <small>By submitting you agree to our <a href="tc.html">terms</a> and <a href="policy.html">policy</a></small>
        </form>
    </div>
 </body>

</html>

对于邮件错误检查这个问题 [PHP Warning: mail(): " sendmail_from" not set in php.ini or custom "From:" header missing

【讨论】:

  • 谢谢。试过了。但现在表单中输入的所有验证(无线电输入除外)都不起作用。甚至邮件功能也不起作用。提交后再次显示未定义的索引消息:'注意:未定义的变量:C:\xampp\htdocs\New folder\frm1.php on line 20 中的错误'
  • 用isset检查
猜你喜欢
  • 2021-01-04
  • 2015-01-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-02-21
  • 2016-08-17
  • 2012-05-23
相关资源
最近更新 更多