我正在开发一个包含主页、html 和 2 个 PHP 页面的项目。我处理这个问题的方法是通过 jQuery,使用命令 .load()。这是现在的样子:
<script>
$("#B").click(function(){
$("#div2").load("agregarUsuario.php");
});
$("#eliminarUsuario").click(function(){
$("#div2").load("eliminarUsuario.php");
});
</script>
因此,当我使用 ID、A 或 B 中的任何一个时,它都会毫无问题地加载 php。每个 PHP 都有一个提交表单,如下所示:
require_once('empleado.inc');
echo " <form method='post' action=''>";
echo " <div id='username_input'>";
echo " <div id='username_inputleft'></div>";
echo " <div id='username_inputmiddle'>";
echo " <input type='text' name='usuario' id='url' value='Usuario' onclick='this.value = '''>";
echo " <img id='url_user' src='./images/mailicon.png' alt=''>";
echo " </div>";
echo " <div id='username_inputright'></div>";
echo " </div>";
echo " <div id='password_input'>";
echo " <div id='password_inputleft'></div>";
echo " <div id='password_inputmiddle'>";
echo " <input type='password' name='password' id='url' value='Password' onclick='this.value = '''>";
echo " <img id='url_password' src='./images/passicon.png' alt=''>";
echo " </div>";
echo " <div id='password_inputright'></div>";
echo " </div>";
echo " <div id='submit'>";
//echo " <input type='image' src='./images/submit_hover.png' id='submit1' value='Entrar' name='Entrar'>";
//echo " <input type='image' src='./images/submit.png' id='submit2' value='Entrar' name='Entrar'>";
echo "<input type='submit' value='Entrar' class='button' name='Entrar'>";
echo " </div>";
echo " <div id='links_left'></div>";
echo " <div id='links_right'></div>";
echo " </div>";
echo " </form>";
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$Empleado = new empleado();
$Empleados= $Empleado->consultar();
$Fila=$Empleados->fetch_assoc();
if ((isset ($_POST['Entrar']))&&($Fila['Contrasena']===base64_encode($_POST['password'])&&($Fila['Nombre']===$_POST['usuario']))){
$_SESSION['usuario']=$_POST['usuario'];
header ("Location: http://localhost/Ferreteria/adminIndex.php");
}else{
echo "<B>NO tiene permisos</B>";
}
}
一些简单的事情:只是收集数据并提交给数据库。这就是我们被教导的方式。现在,问题来了。每个 PHP 表单都可以单独使用。但是,当我在主 html 中加载它们并提交它们时,它们中的任何一个都只是重新加载主页而不提交操作。
我是这方面的新手,我已经多次测试过 php。正如我所指出的,在网络浏览器 (Chrome) 上单独工作正常,但一旦我在主页上测试它们,操作就不会提交或完成。我在 .load() 之后遗漏了什么吗?
如有任何帮助,我们将不胜感激。
最佳答案
没必要echo
PHP 中的所有内容...您可以使用 ?>
关闭 php然后编写纯 HTML,然后用 <?php
再次打开 PHP
但是关于你的问题:没有任何反应的原因是因为:
<form method='post' action=''>
action=''
意味着表格将 POST
返回到您当前所在的相同 URL。如果您的网址是 www.example.com/test.php
如果action=''
,你用ajax加载一个表单然后它将POST
回到相同的 URL ( <form method='post' action=''>
) 而不是您需要它的 PHP 文件。
所以在agregarUsuario.php
你需要:
<form method='post' action='./agregarUsuario.php'>
并且在 eliminarUsuario.php
你需要:
<form method='post' action='./eliminarUsuario.php'>
关于javascript - .load() 和 PHP Forms 的 jQuery 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30960864/