我正在做一个项目,它有一个主页,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() 之后错过了什么吗?
任何协助将不胜感激。
> 没有必要在 PHP 中echo
所有内容...您可以使用?>
关闭PHP,然后编写纯HTML,然后使用<?php
再次打开PHP
但是关于你的问题:什么都没有发生的原因是因为这个:
<form method='post' action=''>
action=''
表示表单将POST
回您当前所在的同一 URL。如果您的URL是www.example.com/test.php
并且您使用ajax加载表单,如果action=''
,那么它将POST
回相同的URL(<form method='post' action=''>
),而不是您需要它的PHP文件。
因此,在agregarUsuario.php
中,您需要:
<form method='post' action='./agregarUsuario.php'>
在eliminarUsuario.php
中,您需要:
<form method='post' action='./eliminarUsuario.php'>