Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 为什么赢了';从我的主页删除朋友的消息?_Php_Codeigniter - Fatal编程技术网

Php 为什么赢了';从我的主页删除朋友的消息?

Php 为什么赢了';从我的主页删除朋友的消息?,php,codeigniter,Php,Codeigniter,我添加了一个功能,用户可以在我的应用程序中逐个删除从朋友那里收到的消息。我在消息模型中添加了deleteMessage函数。然后我在我的家庭控制器中的delete函数中调用它。在我的主视图中,我应该能够通过按“删除”来删除消息。目前什么也没发生。然后,这将删除消息数据库中为他们保留的特定信息。db表包含从、到和消息字段。再次感谢你的帮助 我的家庭控制器: class Home extends CI_Controller { function Home() { parent::_

我添加了一个功能,用户可以在我的应用程序中逐个删除从朋友那里收到的消息。我在消息模型中添加了deleteMessage函数。然后我在我的家庭控制器中的delete函数中调用它。在我的主视图中,我应该能够通过按“删除”来删除消息。目前什么也没发生。然后,这将删除消息数据库中为他们保留的特定信息。db表包含从、到和消息字段。再次感谢你的帮助

我的家庭控制器:

class Home extends CI_Controller 
{
function Home()
{   
     parent::__construct();
     $this->load->model('messages');
     $this->load->model('friends');
     $this->load->model("profiles");
}


  function delete($message)
 {
$username = $this->session->userdata('username');
$this->messages->deleteMessage($from, $to, $message);
redirect('home');
 }


function index()
{

 $username = $this->session->userdata('username');
 $membername = $this->session->userdata('membername');
 $viewData['membername'] = $membername;
 $viewData['username'] = $username;
 $viewData['following'] = $this->friends->getFollowing($username);
 $viewData['followers'] = $this->friends->getFollowers($username);
 $viewData['messages'] = $this->messages->getMessages($membername);
 $viewData['friends'] = $this->friends->getFriends($username);


 $this->load->view('shared/header');
 $this->load->view('home/hometitle', $viewData);
 $this->load->view('shared/nav');
 $this->load->view('home/homeview', $viewData);
 $this->load->view('shared/footer');
}
 }  
消息模型:

class Messages extends CI_Model
{



function Messages()
{
parent::__construct();
}



function deleteMessage($from, $to, $message)
{
   $this->db->select('*')->from('messages')->where('from', $from)->where('to', $to)->where('message', $message);
   $this->db->delete();
  }

}
主视图:

    <h2> Messages</h2> 
    <ul> 
      <?php foreach($messages as $message):?>
          <li><?=$message['from']?> says...: "<?=$message['message']?>"(<?=anchor("home/delete/$message", 'delete')?>)</li>      
         <?php endforeach?>    
    </ul>      
  </div>
消息
  • 说……:“”(

delete
函数中,您的
$from
$to
变量从何而来,这些值不是未定义的吗?而且,看起来您可能正在将整个
$message
数组放入删除URL中。你有可以使用的ID吗?好的,我已经将这些变量添加到delete函数中;它们也存在于模型中的deleteMessage函数中。好的,也许我可以将delete url更改为这个-但是这没有改变任何东西。那么delete函数就不会得到任何参数。我想你想要像
这样的东西。但是,从MVC的角度来看,通过
message/delete/id
访问消息控制器的delete方法比在主控制器中放置delete方法更有意义(因为您没有删除主记录)@Hannah_B-我认为Tom的意思是,您应该为实际消息提供
id
,而不是消息正文。