douzhong5902 2013-08-27 11:23
浏览 55
已采纳

如何使用PHP验证表单和发送电子邮件[重复]

This question already has an answer here:

I've done a tiny bit, but it is not so good. I would like to check if email is valid in proper format, name containing no numbers & also how do I add validation to check if the Math question is right. Can anyone please help?

<?php
    $submitted = $_POST["submitted"];
    if($submitted == "true")
    {
    $name = trim($_POST["name"]);
    $email = trim($_POST["email"]);
    $subject = trim($_POST["subject"]);
    $message = trim($_POST["message"]);
    $answerbox = trim($_POST["answerbox"]);
    if($name == "") print "<p>Please type your name.</p>";
    if($subject == "") print "<p>Please type a subject.</p>";
    if($email == "") print  "<p>Please type a valid email address.</p>";
    if($message == "") print "<p>Please type your message.</p>";
    if($answerbox == "") print "<p>Please answer the math question.</p>";
    }

?>
        <form name="contact" action="form2.php" method="post">
            <input type="hidden" name="submitted" value="true"/>
            <label for="YourName">Your Name:</label>
            <input type="text" name="name" class="required" />

            <label for="YourEmail">Your Email:</label>
            <input type="text" name="email" class="required"/>

            <label for="Subject">Subject:</label>
            <input type="text" name="subject" class="required"  />

            <label for="YourMessage">Your Message:</label>
            <textarea  name="message" class="required"></textarea>
            <p class="c3">10 + 5 =<input type="text" name="answerbox" id="answerbox" /></p>

        <fieldset>
            <input type="submit" name="submit" id="submit" value="Send" class="required"/>
            <input type="reset" id="reset" value="Reset"/>      
        </fieldset>

    </form>
</div>
  • 写回答

2条回答 默认 最新

  • dongmo8943 2013-08-27 11:39
    关注
    <?php
        if(isset($_POST['name']))
        {
        $name = trim($_POST["name"]);
        $email = trim($_POST["email"]);
        $subject = trim($_POST["subject"]);
        $message = trim($_POST["message"]);
        $answerbox = trim($_POST["answerbox"]);
        if(strlen($name)<2) {
            print "<p>Please type your name.</p>";
        }else if(strlen($subject)<2) {
            print "<p>Please type a subject.</p>";
        }else if(!filter_var($email, FILTER_VALIDATE_EMAIL)) {
            print  "<p>Please type a valid email address.</p>";
        }else if(strlen($message)<10) {
            print "<p>Please type your message.</p>";
        }else if($answerbox != 15) {
            print "<p>Please answer the math question.</p>";
        }else{
                    $headers =  'From: '.$email. "
    " .
                                'Reply-To: '.$email . "
    " .
                                'X-Mailer: PHP/' . phpversion();
            mail('me@mymail.me',$subject,$message,$headers);
            print "mail succesuffully sent";
        }
    
    }
        ?>
    
            <form name="contact" action="form2.php" method="post">
                <input type="hidden" name="submitted" value="true"/>
                <label for="YourName">Your Name:</label>
                <input type="text" name="name" class="required" />
    
                <label for="YourEmail">Your Email:</label>
                <input type="text" name="email" class="required"/>
    
                <label for="Subject">Subject:</label>
                <input type="text" name="subject" class="required"  />
    
                <label for="YourMessage">Your Message:</label>
                <textarea  name="message" class="required"></textarea>
                <p class="c3">10 + 5 =<input type="text" name="answerbox" id="answerbox" /></p>
    
            <fieldset>
                <input type="submit" name="submit" id="submit" value="Send" class="required"/>
                <input type="reset" id="reset" value="Reset"/>      
            </fieldset>
    
        </form>
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 下图接收小电路,谁知道原理
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测