HTML表单触发文件中的PHP代码,我如何回到HTML?

时间:2016-02-03 14:36:00

标签: php html ajax forms

我正在以一个调用php文件将数据放入mysql的形式收集数据。它工作正常,但在数据进入数据库后,浏览器只显示一个空白页面,并在浏览器输入栏中显示行

http://nameofmyste.net/mfb1.php

就好像HTML将我发送到服务器上运行良好的php代码然后它就会卡住,并保持不变。我如何"回来"到我的HTML脚本?

call form action命令如下所示:

<form class="form-horizontal" role="form"  action="mfb1.php" method="post" >

php代码存在于文件mfb1.php中,工作正常,只需终止标准结束&#34;?&gt; &#34;在末尾。

感谢您的帮助。

对于延迟回复问题表示抱歉,对于我对论坛的错误使用感到非常抱歉,我是新手并且正在学习...

我从原始问题开始做了一些工作,创建了一个非常简单的AJAX示例,该示例应该可以正常工作,但它并没有。这是带有js函数localform的HTML文件。它使用同步AJAX调用(第三个参数设置为&#34; false&#34;)来调用我的php代码,它也在下面。

它运行良好,我看到了短语&#34;我们做到了&#34;取代&#34;替换这里&#34; html页面上的文字,就像它应该的那样。但是,在半秒钟之内,&#34;我们做到了#34;消失,&#34;取代这里&#34;文字再次出现。

好像html代码再次从顶部运行。现在提交后,浏览器栏中的地址为

http://bruwptest.netne.net/Test%20Files/ajaxtester.html?

最后的问号是新的。

以下是代码:

ajaxtester.php:

<?php
echo "we made it";
?>

ajaxtester.html:

<!DOCTYPE HTML>
<html>
  <body>
 <h1>AJAX Tester</h1>

 <p>Echo here from the server: <span id="text">replace here</span></p> 

<form  onclick="localform()"> 
<button type="submit"  >Submit</button>       
</form>

<script>
    function localform() {       
        var xhttp = new XMLHttpRequest();
        xhttp.open("GET", "ajaxtester.php",false);
        xhttp.send();
        document.getElementById("text").innerHTML = xhttp.responseText;
    }
</script>

  </body>
</html>

我的问题是为什么html页面令人耳目一新并覆盖了&#34;我们做到了&#34;我刚刚从php那里写到了什么?

2 个答案:

答案 0 :(得分:2)

  

好像HTML将我发送给了php代码

嗯,是的。这就是你指定的内容:

<form class="form-horizontal" role="form"  action="mfb1.php" method="post" >
                               <!-- right here ----^ -->
  然后它就会卡住

那么,mfb1.php 做什么?它产生了什么输出?如果它没有向浏览器呈现任何HTML,则不会向浏览器呈现HTML。

如果出现错误并且错误报告未打开,则可能没有有效的输出呈现给浏览器。在调试期间打开错误报告,检查日志等。

您可以在该脚本中输出您喜欢的任何HTML。除<?php ?>标记之外的任何内容都只是直接发送到客户端,因此请放置您想要的任何HTML。

或者,在脚本的逻辑完成时,您还可以将用户重定向到另一个页面:

header('Location: somePage.html');

这将返回对用户浏览器的回复,表明它应该对somePage.html发出新请求。

答案 1 :(得分:1)

您必须向客户端发送重定向location到原始HTML页面;在php脚本的末尾,写一下:

header( "Location: YourHtmlFileUrlHere" );
exit;

如果命令位于脚本末尾,则exit命令不是必需的。

请注意:如果在页面之前有任何输出

,则header命令会失败