将值从控制器发送到视图'header'但当页面更改时,变量未定义



将$data的值从控制器发送到标头,但是当页面更改为包含标头的另一个页面时,它会显示错误。

看看下面的代码

控制器

`$user_email=$_GET['email'];
  $this->load->model('Pmodel');
  $data['email']=$this->Pmodel->profile_model($user_email);
   $this->load->view('dashboard/profile',$data);`

现在标题"视图">

    <?php  foreach ($data as $key ):?>
   <?php   
 $uname=$key['uname'];
 $user_email=$key['email'];
 ?>
    <li>
    <?php echo anchor('user/profile_user/?email='.$user_email, $uname ); ?></li>
  <?php endforeach; ?>

但是当页面从仪表板更改为配置文件时,它会显示错误遇到 PHP 错误

严重性:通知

消息:未定义的变量:数据

文件名:仪表板/标头.php

行号:58

遇到 PHP 错误

严重性:警告

消息:为 foreach(( 提供的参数无效

文件名:仪表板/标头.php

行号:58

您可以直接访问密钥,无需循环。

喜欢:

 <?php   
$uname=$uname;
$user_email=$email;
?>
<li>
  <?php 
      echo anchor('user/profile_user/?email='.$user_email, $uname;
  ?>
</li>

试试这个方法。

在视图中使用此代码

  <?php  foreach ($data as $key ):?>
   <?php   
 $uname=$key['uname'];
 $user_email=$key['email'];
 ?>
    <li>
    <?php echo anchor('user/profile_user/'.$user_email, $uname ); ?></li>
  <?php endforeach; ?>

您的控制器使用此代码

public function profile_user($user_email)
{
   $data =array();
  $this->load->model('Pmodel');
  $data['email']=$this->Pmodel->profile_model($user_email);
   $this->load->view('dashboard/profile',$data);`
}

从控制器发送$data['电子邮件'],这意味着您发送$email查看而不是$data

试试这个:

foreach ($email as $key )
你需要

传递数据

 $data['email']=$this->Pmodel->profile_model($user_email);

在每个控制器和方法中.

最新更新