普通网友 2017-04-17 00:42
浏览 150
已采纳

php电子邮件表单/ if / else if / error messages

I have tried to create php email form. The form was basically working, but I wanted to add validation functions like I did on 'name' However, It doesn't work when I empty 'name' and just sent an email. Any help would be really appreciated.

htmlfile

<form action="php_mini.php" method="post">

    Name:
    <input type="text" name="name">
    <span class="error">* <?php echo $nameErr;?></span>
    <br><br>

    Email:
    <input type="text" name="email">
    <span class="error">* <?php echo $nameErr;?></span>
    <br><br>

    Phone:
    <input type="text" name ="phone">
    <br><br>

    Comment:
    <!--<textarea name="comment"></textarea>-->
    <!--<input type = "text" name = "comment">-->
    <textarea name="comment" rows="5" cols="40"></textarea>
    <span class="error">* <?php echo $nameErr;?></span>
    <br><br>

    <input type="submit" value="Submit">
</form>

php

echo '<pre>';
print_r( $_POST );
echo '</pre>';

$headers = 'MIME-Version: 1.0' . "
" .
       'Content-type: text/html; charset=iso-8859-1' . "
" . 
       'From:  Design_customers <customers.com' . " 
" .
       //'Reply-To: vader@deathstar.com' . "
" .
       'X-Mailer: PHP/' . phpversion();
//error msg
$nameErr = $emailErr = $phoneErr = "";
$name = $email = $comment = $phone = "";    

//receiver   

if (empty($_POST["name"])) {
    $nameErr = "Name is required";
} else {
    $name = test_input($_POST["name"]);
}

$email = $_POST['email'];
/*$message = $_POST['comment'];*/
$message = 'You got a message from a customer.:

Name: '.$_POST['name'].' 
Email: '.$_POST['email'].'
Phone: '.$_POST['phone'].'
Comment: '.$_POST['comment'];
//sender
$from = 'From: Customer'; 

$subject = 'Customer Inquiry';

mail( $email, $subject, $message, $from );
  • 写回答

1条回答 默认 最新

  • dongqie2010 2017-04-17 02:36
    关注

    use if(isset($_POST["name"])) to stop the error. [Notice: Undefined index: name in C........]

    better you have validate this form with java Script. i have attached a snipped part of you form with javascript.

    <form action="" method="post" onsubmit="return(Validate());" name="myform">
    
        Name:
        <input type="text" name="name">
        <span class="error">* <div id="name_error" style="color:red;"></div> </span>
        <br><br>
    
    </form>
    
    
    
    
    
    <script type="text/javascript">
       <!--
          // Form validation code will come here.
    
          function Validate()
          {
    
             if( document.myform.name.value == "" )
             {
                alert( "Please provide your name!" );
    
                name_error.textContent = "Name is Required.!"; 
                document.myform.name.focus() ;
                return false;
             }
    
    
             return( true );
          }
       //-->
    </script>
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料