CodeIgniter 3.x POST为空

时间:2019-03-07 06:32:46

标签: php codeigniter

我在项目中使用最新的CodeIgniter3.1版本。当我提交表单或使用AJAX调用时,我总是得到一个空的$this->input->post('XYZ')。它可以在我的本地计算机上运行,​​但不能在服务器上运行。

csrf_protection设置为FALSE,并且存在.htaccess文件

<IfModule mod_rewrite.c>
 RewriteEngine On
 RewriteBase /
 RewriteCond %{REQUEST_FILENAME} !-f
 RewriteCond %{REQUEST_FILENAME} !-d
 RewriteRule . /index.php [L]
</IfModule>

<IfModule !mod_rewrite.c>
 ErrorDocument 404 /index.php
</IfModule>

这是我的表单代码,无论我使用“ form_open”还是直接使用它都无所谓,它仅适用于我的本地开发机器:

<form method="post" id="login_form" action="/index.php/login">
        <label for="email"><?php echo $this->lang->line('username'); ?> *</label>
        <input type="text" name="email" id="email" class="logfeld" autocomplete="username" />
        <label for="passwort"><?php echo $this->lang->line('password'); ?> *</label>
        <input type="password" name="passwort" id="passwort" class="logfeld" autocomplete="current-password" />
        <input class="sendbut" type="submit" name="login" value="<?php echo set_value('passwort'); ?>" />
    </form>

如何解决该问题?

1 个答案:

答案 0 :(得分:0)

我认为您应该使用此方法:

$pos = $this->input->post();
    if(isset($pos['XYZ']))$xyz = $pos['XYZ'];else $xyz='';