我有PHP变量的问题。我正在显示用{id}}登录用户ID的用户名。
赞$_SESSION['uid'];
我必须使用
获取用户名$uid = $_SESSION['uid'];
因此,在索引页面中显示$data = $Details->UserDetails($uid);
$data_username = $data['username'];
,但当我在以下代码中使用<?php echo $data_username;?>
时,它会给我错误。
$data_username
我正在注意:未定义的变量:data_username 我在这里缺少什么人都可以告诉我?
答案 0 :(得分:2)
将$data_username
传递给函数,即
if ($_GET['action'] == "get_all_posts") { get_all_posts($db,$config, $data_username); }
答案 1 :(得分:0)
要在函数内部获取变量,您需要对函数说使用此变量。在你的`函数get_all_posts($ db,$ config){``
下添加global $data_username
所以正确的代码是:
include_once ("includes/datas.php");
//session_start(); and $data_username will be come within datas.php
if ($_GET['action'] == "get_all_posts") { get_all_posts($db,$config); }
function get_all_posts($db,$config) {
global $data_username; // Try to add this line
$sql = "select * from `posts` where ((
to_uname = '".mysqli_real_escape_string($db, $data_username)."' AND
from_uname = '".mysqli_real_escape_string($db,$_GET['client'])."' ) OR (
to_uname = '".mysqli_real_escape_string($db,$_GET['client'])."' AND
from_uname = '".mysqli_real_escape_string($db,$data_username)."' )) order by post_id DESC ";
}
答案 2 :(得分:0)
也许你应该弄清楚全局变量和局部变量的概念。 这意味着你不能在ur函数中使用尚未定义的变量,除了变量是全局的。
您可以通过参数发送变量,如下所示:
function get_all_posts($db,$config,$data_username)
或使用关键字&#39; global&#39;在你的函数中声明变量如下:
global $data_username;
但在处理复杂数据时总是使用对象。