将值从控制器发送到“标题”视图,但当页面更改时,变量未定义
Posted
技术标签:
【中文标题】将值从控制器发送到“标题”视图,但当页面更改时,变量未定义【英文标题】:Sending a value from controller to 'header' view but when page changes the variable is undefined 【发布时间】:2017-02-08 06:26:04 【问题描述】:将 $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 错误
严重性:通知
消息:未定义变量:数据
文件名:dashboard/header.php
行号:58
遇到了 PHP 错误
严重性:警告
消息:为 foreach() 提供的参数无效
文件名:dashboard/header.php
行号:58
【问题讨论】:
【参考方案1】:您可以直接访问密钥,无需循环。
喜欢:
<?php
$uname=$uname;
$user_email=$email;
?>
<li>
<?php
echo anchor('user/profile_user/?email='.$user_email, $uname;
?>
</li>
【讨论】:
我正在使用 foreach 从我的函数中获取更多值,如果我删除它会显示错误,即数组到字符串转换错误 请分享数据和电子邮件的 print_r 和 unname【参考方案2】:试试这个方法..
在您的视图中使用此代码
<?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);`
【讨论】:
这是遇到 PHP 错误的错误严重性:警告消息:缺少 User::profile_user() 的参数 1,在 C:\xampp\htdocs\P_Display\system\core\CodeIgniter 中调用.php 在第 360 行并定义文件名:controllers/user.php 行号:131 你是什么控制器和函数名【参考方案3】:你从控制器发送$data['email'],这意味着你发送$email
而不是$data
来查看
试试这个:
foreach ($email as $key )
【讨论】:
【参考方案4】:你需要传递数据
$data['email']=$this->Pmodel->profile_model($user_email);
在每个控制器和方法中 .
【讨论】:
以上是关于将值从控制器发送到“标题”视图,但当页面更改时,变量未定义的主要内容,如果未能解决你的问题,请参考以下文章