我正在使用PHP Framework CodeIgniter。
查看
<?php echo form_open('login/connect'); ?>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td><?php echo form_label('Username', 'username'); ?></td>
<td><?php echo form_input(array('id'=>'username', 'name'=>'username')); ?></td>
</tr>
<tr>
<td><?php echo form_label('Password', 'password'); ?></td>
<td><?php echo form_password(array('id'=>'password', 'name'=>'password')); ?></td>
</tr>
<tr>
<td></td>
<td><?php echo form_submit('login_submit', 'Valider'); ?></td>
</tr>
</table>
<?php echo form_close(); ?>
当我尝试提交此页面时,会转到:http://mywebsite.com/admin/index.php/login/connect
控制器
类Login扩展了CI_Controller {
function __construct()
{
parent::__construct();
}
function index()
{
$this->load->view('login');
}
function connect()
{
$username= $this->input->post('username');
$password=$this->input->post('password');
echo $username.', '.$password;
}
}
HTML
<div id="login">
<div id="login-inner">
<h1>Login</h1>
<form action="http://myswebsite.com/admin/index.php/login/connect" method="post" accept-charset="utf-8">
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td><label for="username">Username</label></td>
<td><input type="text" name="username" value="" id="username" /></td>
</tr>
<tr>
<td><label for="password">Password</label></td>
<td><input type="password" name="password" value="" id="password" /></td>
</tr>
<tr>
<td></td>
<td><input type="submit" name="login_submit" value="Valider" /></td>
</tr>
</table>
</form>
</div>
</div>
但它返回一个空数组。
有人可以建议一种方法来解决这个问题吗?
感谢。
答案 0 :(得分:0)
我认为他正在使用CodeIgniter,因此form_open()会自动放置method =“post”。请问你能分享表格的输出HTML吗?
检查您是否未重定向请求,否则将重置帖子变量。 尝试使用print_r而不是var_dump ...
答案 1 :(得分:0)
请勿使用$ _POST 尝试使用
$username= $this->input->post('username');
$password=$this->input->post('password');
答案 2 :(得分:0)
确定了问题。 它与网站网址相关,并且在表单提交时有一个不需要的301重定向。 参考:$this->input->post() always returning FALSE, due to an unwanted 301
答案 3 :(得分:0)
在parent :: __ construct();
之后输入以下类$this->load->helper('url');
$this->load->helper('form');