我尝试了一个简单的表单提交但我无法使用 $this->input->post
在 Controller 上获取表单值以及 $_POST[]
方法。我的观点部分是
<html>
<head>
<title> Feedback page</title>
</head>
<body>
<?php echo form_open('feedback/save'); ?>
<p>
<label>name: </label>
<?php echo form_input('name'); ?>
</p>
<p>
<label>Email: </label>
<?php echo form_input('email'); ?>
</p>
<p>
<label>Feedback: </label>
<?php echo form_textarea('feedback'); ?>
</p>
<p>
<?php echo form_submit('submit','Submit'); ?>
</p>
<?php echo form_close(); ?>
</body>
</html>
Controller 部分是
<?php
class Feedback extends CI_Controller {
function __construct() {
parent::__construct();
$this->load->model("MFeedback");
}
function index() {
$this->load->view('home/feedback_view.php');
//print "loaded";
}
function save() {
print "called";
print_r($this->input);
$name = $this->input->post('uname');
$email = $this->input->post('email');
$feedback = $this->input->post('feedback');
print $name . $email . $feedback;
$this->index();
}
}
?>
我不确定这里出了什么问题,或者是否有任何我需要查看的配置设置。?
最佳答案
我发现了问题所在。它实际上与重写规则有关。确保你有像这样的重写规则
RewriteEngine On
RewriteRule ^(application) - [F,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php/$0 [PT,L]
在 codeigniter 的根文件夹中。
关于codeigniter - 无法在codeigniter中获取post表单提交值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6786013/