4

Codeigniter 菜鸟在这里:

我想让用户单击某人个人资料中的按钮以向他们发送消息,我需要将变量从视图传递回控制器并传递到另一个视图,我该如何实现?第一个视图中的变量是 $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 视图中可用。谢谢你的帮助!

4

2 回答 2

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在你的视图中使用。

于 2013-05-09T00:38:08.123 回答
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; ?>"/>

控制器

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');
     }
于 2013-05-09T02:24:28.053 回答