如何防止php脚本表单更改为其他页面

如何防止php脚本表单更改为其他页面,php,html,forms,Php,Html,Forms,我使用了我在这里找到的一个示例,其中有一个调用PHP脚本的HTML页面,下面列出了这两个页面。 这一切都很好——但是,我最终得到了PHP scrip页面,我想避免它——我想留在HTML页面上,而不是移动到任何地方。我在一些地方读到,我需要JS或AJAX,但看不到任何实际的例子 我在Windows7下工作,安装了IIS版本7.5,PHP5.3.28。 并在c:\inetpub.wwwroot中执行HTML文件 HTML <div id="contact"> <h2>E

我使用了我在这里找到的一个示例,其中有一个调用PHP脚本的HTML页面,下面列出了这两个页面。 这一切都很好——但是,我最终得到了PHP scrip页面,我想避免它——我想留在HTML页面上,而不是移动到任何地方。我在一些地方读到,我需要JS或AJAX,但看不到任何实际的例子

我在Windows7下工作,安装了IIS版本7.5,PHP5.3.28。 并在c:\inetpub.wwwroot中执行HTML文件

HTML

<div id="contact">
   <h2>Enter your First and Last Name</h2>

   <form action="frm_script.php" method="post" target="_parent">
   <p><strong>First Name:</strong><br /> <input type="text" name="firstName" /></p>
   <p><strong>Last Name:</strong><br /> <input type="text" name="lastName"/></p>
   <input type="submit" name="submit" value="Add Customer" />
   </form>

</div>

输入您的名字和姓氏
名字:

姓氏:

PHP脚本

<?php
if(isset($_POST['submit']))
{
    //get the name and comment entered by user
    $firstName = $_POST['firstName'];
    $lastName = $_POST['lastName'];

    //connect to the database
    $dbc = mysqli_connect('localhost', 'root', 'root', 'mdpdata') or die('Error connecting to 
    MySQL server');
    $check=mysqli_query($dbc,"select * from clients where firstname='$firstname' and 
    lastname='$lastname'");
    $checkrows=mysqli_num_rows($check);
    if($checkrows>0)
    {
  print "customer exists";      
    }  
    else
    {  
        //insert results from the form input
        $query = "INSERT INTO clients(firstName, lastName) VALUES('$firstName', '$lastName')";
        $result = mysqli_query($dbc, $query) or die("Sorry, Duplicate Record.'$php_errormsg'");
        mysqli_close($dbc);
    }
    print '<script type="text/javascript">'; 
    print 'alert("The Customer is NOW registered")'; 
    print '</script>';  

};
?>

一个html文档,其中包含一个带有action=”“语句的表单,结果将更改为指定的页面。与您的一样,使用frm_script.php

如果您不希望发生这种情况,您需要一个AJAX请求,正如您前面提到的,或者您可以添加一个

header(location: 'FPRM.HTML');
到php脚本的底部。因此,在处理后(处理速度应该非常快),会再次加载原始页面


或者你根本不用两页纸。只需将FPRM.html中的html代码放在php代码之后的底部,这样一旦保存表单值,页面就会重新加载。在这种情况下,只需调用连接的文档FPRM.php,表单操作必须设置为action=“FPRM.php”或根本不需要,因为没有操作的表单语句无论如何都会加载相同的页面。

请记住,在处理用户数据后,您必须给用户一个答案,并告诉用户该数据发生了什么,因此,您应该提供一个带有该答案的页面,不管它是.php还是.html,因此最终,您将不得不转到一个新页面。