Codeigniter noob:
我想让用户点击某人的个人资料中的按钮以向他们发送消息,我需要将视图中的变量传递回控制器并进入另一个视图,我该如何实现这一目标?该变量在第一个视图中是$ username:
查看#1 :(此作品)
<a href="<?php echo base_url().'user/user_message';?>">
<button type="submit" class="btn btn-info btn-small" title="Send Message" >Send Message</button>
</a>
<h3><?php echo $username;?>- Public Profile</h3>
控制器:
public function user_message($username)
{
if($this->form_validation->run() == FALSE)
{
$this->load->view('header_loggedin');
$this->load->view('user/send_message', $username);
$this->load->view('footer');
}
else
我基本上想从我的第一个视图中获取$ username变量,并在user / send_message视图中使其可用。谢谢你的帮助!
答案 0 :(得分:2)
更改以下行
<a href="<?php echo base_url().'user/user_message';?>">
要
<?php echo base_url().'user/user_message/'.$username;?>
因此,您的public function user_message($username){ ... }
将收到$username
作为参数。在控制器方法中获取后,可以在使用其他数据加载视图时将其发送到第二个视图,例如,
...
$data['username'] = $username;
$this->load->view('viewname', $data);
然后您可以在视图中使用$username
。
答案 1 :(得分:0)
为什么不传递隐藏字段并将其发布到您的控制器。试试这个。
查看
<a href="<?php echo base_url().'user/user_message';?>">
<button type="submit" class="btn btn-info btn-small" title="Send Message" >Send
Message</button>
</a>
<input type="hidden" name="username" value="<?php echo $username; ?>"/>
CONTROLLER
public function user_message()
{
$username = $this->input->post('username');
if($this->form_validation->run() == FALSE)
{
$this->load->view('header_loggedin');
$this->load->view('user/send_message', $username);
$this->load->view('footer');
}