Php 没有$\u POST变量

Php 没有$\u POST变量,php,jquery,smarty,Php,Jquery,Smarty,我使用Smarty作为模板引擎,wamp服务器,我在提交表单时遇到问题,因为没有提交$\u POST变量 如果我注释掉jQuery(v1.11.1,因为它是用jqueryui自定义主题打包的版本,页面是用它构建的)或jquerymobile,那么变量就起作用了。如果我切换到3.4.1,那么变量将被发布,但是主题现在不起作用(显然不识别类) 这是代码的精简版本: <!doctype html> <html> <head> <scri

我使用Smarty作为模板引擎,wamp服务器,我在提交表单时遇到问题,因为没有提交
$\u POST
变量

如果我注释掉jQuery(v1.11.1,因为它是用jqueryui自定义主题打包的版本,页面是用它构建的)或jquerymobile,那么变量就起作用了。如果我切换到3.4.1,那么变量将被发布,但是主题现在不起作用(显然不识别类)

这是代码的精简版本:

<!doctype html>
<html>
    <head>
        <script src="./script/jquery-1.11.1.min.js"></script>
        <script src="./script/jquery.mobile-1.4.5.min.js"></script>
    </head>
    <body>
        <form method="post" action="./controlA.php?action=do_login" name="loginForm">

            <label>Email :</label>
            <input type="text" name="loginEmail" id="loginEmail">

            <label>Password :</label>
            <input type="password" name="loginPassword" id="loginPassword">

            <input type="submit" name="submitLogin" id="submitLogin" value="Login">

        </form>
    </body>
</html>
按上述方式运行代码会导致以下
var\u dump
(但仅在页面刷新后):

我在页面检查中看不到任何事件

注释掉
给出:

C:\wamp64\www\CA\controlA.php:42: array (size=3)   'loginEmail' =>
string 'email' (length=5)   'loginPassword' => string 'pass'
(length=4)   'submitLogin' => string 'Login' (length=5)
如果我使用3.4.1,您会得到相同的结果,但这会导致样式错误。如果需要的话,我会用新的jQueryUI重建一切,但如果有人能发现发生了什么,那就更好了

如果我只是使用一个带有
var\u dump()
的普通页面重定向(即
action=“./page.php”
),它也会正确输出
$\u POST
变量,因此我不知道问题是否是同时在
?action=do\u login
中使用
$\u GET

将导致错误的文件结构是:

controlA.php
login_test.php
script/jquery.mobile-1.4.5.min
script/jquery-1.11.1.min

然后是smartylibs文件夹(下载时,只包含php文件)和smarty(其中包含脚本中所需的四个子文件夹,但在其他方面为空)。smartylibs中似乎有什么东西与jquery相冲突。

因此,总结一下:使用jquery 3.4.1,在表单操作中重定向到新页面(而不是$\u GET),并注释掉jquery 1.11.1会导致$\u POST变量按预期工作。jquery在哪里?您必须显示functions.js的内容。如果表单数据从未到达服务器,那么PHP代码就无关紧要了。你在JS代码中截取了表单提交。你是说发布所有的“jquery-1.11.1.min.JS”?仅仅是jquery库文件对你的页面或页面本身的行为没有任何影响。某些JS代码肯定会干扰表单提交,但目前为止显示的代码无法告诉您提交的内容和位置。(而且您的HTML实际上不包含两个
body
元素,在这里发布代码时这只是一个混乱,对不对…?)因此,总结一下:使用jquery 3.4.1,在表单操作中重定向到新页面(而不是$\u GET),注释掉jquery 1.11.1会导致$\u POST变量按预期工作。jquery在哪里?必须显示functions.js的内容。如果表单数据从未到达服务器,那么PHP代码就无关紧要了。你在JS代码中截取了表单提交。你是说发布所有的“jquery-1.11.1.min.JS”?仅仅是jquery库文件对你的页面或页面本身的行为没有任何影响。某些JS代码肯定会干扰表单提交,但目前为止显示的代码无法告诉您提交的内容和位置。(而且您的HTML实际上并不包含两个
body
元素,这只是在这里发布代码时的一个混乱,对不对…?)
C:\wamp64\www\CA\controlA.php:42: array (size=3)   'loginEmail' =>
string 'email' (length=5)   'loginPassword' => string 'pass'
(length=4)   'submitLogin' => string 'Login' (length=5)
controlA.php
login_test.php
script/jquery.mobile-1.4.5.min
script/jquery-1.11.1.min