我在项目中使用最新的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>
如何解决该问题?
答案 0 :(得分:0)
我认为您应该使用此方法:
$pos = $this->input->post();
if(isset($pos['XYZ']))$xyz = $pos['XYZ'];else $xyz='';