Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/91.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP未在“联系我们”窗体中工作_Php_Html - Fatal编程技术网

PHP未在“联系我们”窗体中工作

PHP未在“联系我们”窗体中工作,php,html,Php,Html,我只是一个PHP和Html的初学者。我已经看到了许多与此相关的问题,但不知何故,我无法解决一个非常简单的问题。所以,请帮忙 以下代码似乎不起作用。总是有一个信息,现在似乎有问题。当我运行此代码时,请在窗体之前的某个时间重试。无论我是否按下提交按钮,都没有任何区别 <h2 >Inquiry form</h2> <?php if (isset($_POST['submit'])){ echo "Thank You!"; } e

我只是一个PHP和Html的初学者。我已经看到了许多与此相关的问题,但不知何故,我无法解决一个非常简单的问题。所以,请帮忙

以下代码似乎不起作用。总是有一个信息,现在似乎有问题。当我运行此代码时,请在窗体之前的某个时间重试。无论我是否按下提交按钮,都没有任何区别

<h2 >Inquiry form</h2>

<?php
    if (isset($_POST['submit'])){

        echo "Thank You!";
    }
    else {
        echo "There seems to be a problem right now. Please try again after sometime";
    }                                   

?> 

<form name="input" method="POST" action="contact.php">
    <label for="Name">Name (required):</label>
    <br />
    <input type="text" name="Name" />
    <br />
    <div class="clear"></div>
    <label for="inputmail">Email(required):</label>
    <br />
    <input type="text" name="email" />
    <br />
    <div class="clear"></div>
    <label for="inputtelefon">Phone:</label>
    <br />
    <input type="text" name="phone" />
    <br />
    <div class="clear"></div>
    <label for="inputmessage">Message:</label>
    <br/>
    <textarea name="message" cols="28" rows="3" ></textarea>
    <div class="clear"></div>
    <div id="send">
        <input type="submit" value=" Submit " />
        <input type="reset" value="  Clear  "  />
    </div>
</form>
更改代码:

<h2 >Inquiry form</h2>

                                  <?php
                                  if ($_SERVER['REQUEST_METHOD'] == 'POST') {
                            //if ($_SERVER['REQUEST_METHOD'] == 'POST') {  This is not working as well
                                        echo "Thank You!";
                                    }
                                    else {
                                        echo "There seem to be a problem right now. Please try again after sometime";
                                    }
                             ?> 

                       <form name="input" method="POST" action="contact.php">
                            <label for="Name">Name (required):</label>
                            <br />
                            <input type="text" name="Name" />
                            <br />
                             <div class="clear"></div>
                             <label for="inputmail">Email(required):</label>
                            <br />
                            <input type="text" name="email" />
                            <br />
                            <div class="clear"></div>
                            <label for="inputtelefon">Phone:</label>
                            <br />
                            <input type="text" name="phone" />
                            <br />
                            <div class="clear"></div>
                            <label for="inputmessage">Message:</label>
                            <br/>
                            <textarea name="message" cols="28" rows="3" ></textarea>
                            <div class="clear"></div>
                  </div>
                  <div id="send">
                <input type="submit" value=" Submit " name="submit"/>
                </div>
            </form>

这是因为“提交”按钮没有名称:

<input type="submit" value=" Submit " name="submit"/>
编辑

基于Marc B答案中随机编码员的评论


发现类似问题:

检查提交的方法无效。切勿检查是否存在表单字段。这是不可靠的。您可能会更改字段名,但忘记更新PHP。改用这个:

if ($_SERVER['REQUEST_METHOD'] == 'POST') {
   ...
}

它是100%可靠的,如果执行POST,它将始终是正确的。

我只看到一个原因,即您没有定义名称submit to任何变量。有两种方法可以找到提交表单,如下所示:

更改:

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

 to

 <input type="submit" value=" Submit " name="submit"/>
或者添加额外的行来执行类似的操作

 <input type = "hidden" name="passed" />
检查

 <?php
      if (isset($_POST['passed'])){
          echo "Thank You!";
      }else {
           echo "There seems to be a problem right now. Please try again after sometime";
      }                                   

 ?> 

看看你更新的if语句。它的意思是:如果表格已提交,则表示感谢;如果表格尚未提交,则表示似乎存在问题

这就是为什么您总是看到有问题的原因,因为当您在未提交表单的情况下查看表单时,if语句的else块将触发

您应该删除else块,因为它没有任何意义,因此它会变成:

if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    // form has been submitted, handle the data and say thanks...
    echo "Thank You!";
}
使用此方法而不是检查submit按钮更好,因为如果用户按enter键提交表单,Internet Explorer将不会将submit按钮作为post变量发送


更多信息-。

您的报价中也不应该有空格。并且开始标记不应该有空格。+1正确答案。如果没有名称,则值不会作为数据的一部分发送,因此isset不会看到它。是的。。这是个错误。这本该解决的。但是,令人惊讶的是,它仍然不适合我。谢谢大家帮助我。但它仍然不起作用。我已将更改后的代码张贴在原始问题中我以前的代码下方..horsefeathers!NAME attr需要将此字段与请求一起发送到serverAs@Saju建议,我们应该将其与接受的答案结合起来,这应该是真正的答案。对吧?但这不一定是你所期望的职位。我经常让页面收到多个可能的帖子请求,并相应地做不同的事情。这很好。稍后检查特定的表单字段。但是如果你真正关心的是有一个帖子,这是最好的方法。+1,如果使用回车键,Internet Explorer也不会将提交按钮作为帖子变量发送-。@RandomCoder真的吗?在我开发6到10个版本时使用的所有IE版本中,100%的时间都在为我工作10@Kolink是的,IE的所有版本都是这样,没有一个版本解决过这个问题。要测试它:创建一个带有文本框和提交按钮的表单,将操作设置为自身,在页面顶部使用print\u r$\u POST。查看页面,在文本框中键入一些内容,然后按enter键-您将看到只有文本框被发送,提交按钮不包含在发布数据中。谢谢。我后来才明白。。但是忘了更新我的问题。不过还是非常感谢。。