我正在尝试使用<form method="post">
构建一个简单的登录系统。笔记本电脑上的MAMP一切正常,但是当我将脚本上传到服务器(Windows)时,它无法正常工作;似乎$ _POST数组为空。
我评论了所有内容,但没有任何内容,但仍然无法正常工作。
index.php:
<form id="login-form" method="POST" action="_scripts/check_login.php">
Email Address
<input name="login-email" type="text" id="login-email">
Password
<input name="login-password" type="text" id="login-password">
<input type="submit" name="Submit" id="login-button" value="Login">
</form>
_scripts / check_login.php :(除调试用的var_dumps以外,我已经删除了所有内容)
var_dump($_POST);
$loginEmail = trim($_POST['login-email']);
echo '<br>';
$loginPassword = ($_POST['login-password']);
var_dump($loginEmail);
echo '<br>';
var_dump($loginPassword);
提交表单时,无论我在文本字段中输入什么内容,我都会看到:
array(0) { }
string(0) ""
NULL
如果在以上两个文件中将“ post”的所有实例更改为“ get”,则一切正常。但是我不想使用get。 (如果我使用method =“ post”提交表单,$ _ REQUEST也不起作用)。
注意,这一切都可以在localhost上正常运行,但不能在运行Windows的服务器上运行。因此,这似乎是服务器的问题,但我不知道该怎么办。您可以在此处看到PHPInfo:http://brailleapps.org/phpinf0.php
有任何想法吗?
编辑:解决了!见下文。
参考方案
我最终将其修复,以防将来有人遇到相同的问题时,我也可能会在这里发布可行的方法。
原来这些HTTP模块之一干扰了POST:
Rad压缩
RadUploadModule
关闭这些模块后,POST可以正常工作。
(注意,这是在一个全新的应用程序上,在该应用程序中,我知道没有任何现有代码可能依赖于那些模块之一……关闭它们可能会产生我不知道的意外结果,YMMV。)
PHP Count数组元素 - php嗨,有人可以解释为什么这会返回“数组由0个元素组成”。 :$arr = array(1,3,5); $count = count($arr); if ($count = 0) { echo "An array is empty."; } else { echo "An array has $count elements.…
PHP:从函数返回值并直接回显它? - php这可能是一个愚蠢的问题,但是……的PHPfunction get_info() { $something = "test"; return $something; } html<div class="test"><?php echo get_info(); ?></div> 有没有办…
PHP:将数据从二维数组复制到一维数组的最快方法 - php我有一个巨大的二维PHP数组,带有500万行。$t = [ [ "id" => 1, "name" => "foo" ], [ "id" => 2, "name" => "bar" ] ]; 现在,我必须将此数组的I…
php-printf和sprintf具有不同的输出 - php我编写了以下微型php程序来测试printf和sprintf:<?php $str_1 = printf("%x%x%x", 65, 127, 245); $str_2 = sprintf("%x%x%x", 65, 127, 245); echo $str_1 . "\n"; echo $s…
PHP getallheaders替代 - php我正在尝试从服务器上的apache切换到nginx。唯一的问题是我在PHP脚本中使用的getallheaders()函数,该函数不适用于Nginx。我已经尝试过用户在getallheaders函数上的php站点上提供的注释,但这并不返回所有请求标头。请告诉我如何解决这个问题。我真的想切换到Nginx。 参考方案 您仍然可以使用它,但是您必须像这里一样重新定义…