HTML表单触发文件中的php代码,我该如何返回HTML


HTML form triggers php code in file, how do i get back to html?

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

http://nameofmyste.net/mfb1.php

就好像 HTML 将我发送到在服务器上运行良好的 php 代码,然后它就会卡住并停留在那里。 如何"返回"我的 html 脚本?

调用表单操作命令如下所示:

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

php 代码存在于文件 mfb1 中.php并且工作正常,只是在末尾以标准结束"?>"终止。

感谢您的帮助。

很抱歉延迟

回到问题,非常抱歉我不正确地使用论坛,我是新手和学习......

自原始问题以来,我已经做了一些工作,并创建了一个非常简单的 AJAX 示例,该示例应该可以正常工作,但事实并非如此。 这是带有js函数localform的HTML文件。 它使用同步 AJAX 调用(第三个参数设置为"false"(来调用我的 php 代码,这也是下面的代码。

运行良好,我看到短语"我们成功了",它取代了 html 页面上的"在此处替换"文本,就像它应该的那样。 但是,在半秒钟内,"我们成功了"消失,"在此处替换"文本再次出现。

就好像 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 页面刷新并覆盖我刚刚从 php 写的"我们做到了"?

就好像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请求。

您必须向客户端发送指向原始HTML页面的重定向location;在PHP脚本的末尾,编写:

header( "Location: YourHtmlFileUrlHere" );
exit;

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

请注意:如果页面中之前有任何输出,则header命令失败