表格未提交值

时间:2018-06-30 02:47:42

标签: php forms

好吧,我是一名自学成才的编码员,所以如果我错过了一些东西,就不必太粗鲁。这是我创建的第一个表格,并且设置了css,html和php。我的问题是,每当我按下“提交”按钮时,它所做的就是重新加载页面且不发送任何数据。我已经在这里诚实地查看了其他论坛的答案,但是我已经尝试了在其他论坛中找到的东西,但是没有用。如果有人可以告诉我为什么不提交值,那将有很大帮助,我将在下面保留我的代码。

<head>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <meta name="description" content="Contact Us">
    <meta name="keywords" content="Contact Us">
    <meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=no">
    <meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">
    <meta name="HandheldFriendly" content="true">
    <link href="https://fonts.googleapis.com/css?family=Barlow+Condensed" rel="stylesheet" />
    <link rel="stylesheet" type="text/css" href="ContactUs.css">
    <link href="style.css" rel="stylesheet" />
    <!--[if IE 6]>
    <style type="text/css">html .group { height: 1%; }</style>
    <![endif]-->
    <!--[if IE 7]>
    <style type="text/css">*:first-child+html .group { min-height: 1px; } </style>
    <![endif]-->
    <!--[if lt IE 9]> 
    <script src="https://cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv.min.js"></script>
    <![endif]-->
</head>

这是我的HTML

<div class="global_container_">
    <header class="header-box-holder"></header>
    <div class="header-left"></div>
    <div class="header-center"></div>
    <div class="l-constrained">
    <div class="main-content-wrapper">
    <div class="header-image"><a href="http://www.fykemusic.com/"><img src="images/header_box.jpg" /></a>
    <div id="form-main">
    <div id="form-div">
    <form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
        <p class="name">
            <input name="name" type="text" class="validate[required,custom[onlyLetter],length[0,100]] feedback-input" placeholder="Name" id="name" />
        </p>
        <p class="email">
            <input name="email" type="text" class="validate[required,custom[email]] feedback-input" id="email" placeholder="Email" />
        </p>
        <p class="message">
            <textarea name="message" class="validate[required,length[6,300]] feedback-input" id="comment" placeholder="Message"></textarea>
        </p>
        <div class="submit">
            <input type="submit" value="Submit" id="button-blue"/>
            <div class="ease"></div>
        </div>
    </form>
</div>

这是我的PHP

<?php 
if(isset($_POST['submit'])) {
    $name = $_POST['name'];
    $email = $_POST['email'];
    $message = $_POST['message'];
    $formcontent="From: $name \n Message: $message";
    $recipient = "searaadair@hotmail.com";
    $subject = "Contact Form";
    $mailheader = "From: $email \r\n";
    mail($recipient, $subject, $formcontent, $mailheader) or die("Error!");
    echo "Thank You!";
}
?>

2 个答案:

答案 0 :(得分:0)

尝试将其用于您的PHP模板。我注意到有些<divs>缺少其结束标记,因此我将其修复。最奇特的问题是您如何拥有两个<form>标签,而其中只有一个正在关闭。这两行...

<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<form class="form" id="form1">

必须在同一标签内。

<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>" class="form" id="form1">

尝试以下PHP。您还有一个奇怪的流浪<html>标签。

</head>
<div class="global_container_">
    <header class="header-box-holder"></header>

    <div class="header-left"></div>

    <div class="header-center"></div>

    <div class="l-constrained">
    <div class="main-content-wrapper">
        <div class="header-image"><a href="http://www.fykemusic.com/"><img 
src="images/header_box.jpg" /></a></div>
        <div id="form-main">
            <div id="form-div">
                <form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>" class="form" id="form1">
                    <p class="name">
                        <input name="name" type="text" 
    class="validate[required,custom[onlyLetter],length[0,100]] feedback-input" 
    placeholder="Name" id="name" />
                    </p>

                    <p class="email">
                        <input name="email" type="text" 
    class="validate[required,custom[email]] feedback-input" id="email" 
    placeholder="Email" />
                    </p>

                    <p class="message">
                        <textarea name="message" class="validate[required,length[6,300]] 
feedback-input" id="comment" placeholder="Message"></textarea>
                    </p>

                    <div class="submit">
                        <input type="submit" value="Submit" id="button-blue"/>
                        <div class="ease"></div>
                    </div>
                </form>
            </div>
        </div>

答案 1 :(得分:0)

由于要在表单的.php属性上打印$_SERVER['PHP_SELF'],因此请确保HTML具有action文件扩展名。如果您使用.html作为文件扩展名,则不会发生这种情况。我还注意到,您似乎正在使用javascript验证插件(通过class属性),也请仔细检查提交事件。