为什么我的 PHP 代码没有显示在屏幕上?

问题描述 投票:0回答:0
<?php

    // print_r($_POST);
    $error = "";
    $successMessage = "";
    if($_POST){
        if(!$_POST["email"]){
            $error .= "An email address is required.<br>";
        }
        if(!$_POST["content"]){
            $error .= "An content address is required.<br>";
        }
        if(!$_POST["sub"]){
            $error .= "An subject address is required.<br>";
        }
        if($_POST['email'] && filter_var($_POST,FILTER_VALIDATE_EMAIL) === false ){
            $error .= "The email is invalid.<br>";
        }
        if($error != ""){
            $error = '<div class="alert alert-danger" role="alert"><p><strong>There were error(s) in your form</strong></p>'.$error.'</div>';
        }
        else{
            $emailto = "[email protected]";
            $subject = $_POST['sub'];
            $content = $_POST['content'];
            $headers = "From: ".$_POST['email'];
            if(mail($emailto,$sub,$content,$headers)){
                $successMessage = '<div class="alert alert-success" role="alert">Your message was sent we\'ll get back to you ASAP.</div>';
            }
            else{
                $error = '<div class="alert alert-danger" role="alert"><p><strong>Your message couldn\'t be sent please try again!</div>';
            }
        }
    }
?>

<!doctype html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>Bootstrap demo</title>
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" integrity="sha384-GJzZqFGwb1QTTN6wy59ffF1BuGJpLSa9DkKMp0DgiMDm4iYMj70gZWKYbI706tWS" crossorigin="anonymous">
  </head>
  <body>
    <div class="container">
    <h1>Get in touch!</h1>
    <div id="error"><? echo $error.$successMessage; ?></div>
    <form method="post">
  <div class="mb-3">
    <label for="email" class="form-label">Email address</label>
    <input type="email" class="form-control" id="email" name="email" aria-describedby="emailHelp">
    <div id="emailHelp" class="form-text">We'll never share your email with anyone else.</div>
  </div>
  <div class="mb-3">
    <label for="subject" class="form-label">Subject</label>
    <input type="text" class="form-control" id="subject" name="sub"> 
  </div>
  <div class="mb-3 form-check">
    <input type="checkbox" class="form-check-input" id="exampleCheck1">
    <label class="form-check-label" for="exampleCheck1">Check me out</label>
  </div>
  <div class="mb-3">
  <label for="content" class="form-label">What would you like to ask us?</label>
  <textarea class="form-control" id="content" name="content" rows="3"></textarea>
</div>
  <button type="submit" id="submit" class="btn btn-primary">Submit</button>
</form>
    </div>
    <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/umd/popper.min.js" integrity="sha384-wHAiFfRlMFy6i5SRaxvfOCifBUQy1xHdJ/yoi7FRNXMRBu5WHdZYu1hA6ZOblgut" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.min.js" integrity="sha384-B0UglyR+jN6CkvvICOB2joaf5I4l3gm9GU6Hc1og6Ls7i6U/mkkaduKaBhlAXv9k" crossorigin="anonymous"></script>
    
    <!-- <script type="text/javascript">

        $("form").submit(function(e){
            // e.preventDefault();
        var error = "";
        if($("#email").val() == ""){
            error += "The email field is required.<br>";
        }
        if($("#subject").val() == ""){
            error += "The subject field is required.<br>";
        }
        if($("#content").val() == ""){
            error += "The content field is required.";
        }
        if(error != ""){
        $("#error").html('<div class="alert alert-danger" role="alert"><p><strong>There were error(s) in your form</strong></p>'+error+'</div>');
            return false;
    }
        else{
            return true;
            // $("form").unbind("submit").submit();
        }
    });
    </script> -->

    

</body>
</html>

我创建了一个简单的表单,其中包含电子邮件、关于和主题字段以及一个提交按钮。当这些字段留空时,错误应该显示在屏幕顶部但错误没有出现。我已经注释掉了底部的 javascript 代码做同样的工作,但 PHP 代码不工作。有人可以帮我找出我的代码中的问题吗?

php jquery web-development-server web-deployment-project
© www.soinside.com 2019 - 2024. All rights reserved.