2016-03-06 83 views
0

我收到提示:我的日志中不工作

Undefined variable: user_data in loggedin.php 

我的注册页面是好的它成功注册users.When我登录它显示我所有的信息,但不user_data.If人可以写我哪里是我的fault.My 的init.php

<?php 
session_start(); 
error_reporting(0); 
require 'database/connect.php'; 
require 'functions/general.php'; 
require 'functions/users.php'; 
$_SESSION['user_id'] = (int)1; 
if(logged_in() === false) { 
$session_user_id = $_SESSION['user_id']; 
$user_data = user_data($session_user_id, 'user_id', 'username', 'password', 'first_name', 'last_name', 'email', 'profile', 'textarea', 'writingname', 'writing'); 
echo $user_data['password']; 
if(user_active($user_data['username']) === false) { 
    session_destroy(); 
    header('Location: index2.php'); 
    exit(); 
} 
} 
$errors = array() ; 
?> 

users.php:

function user_data($user_id) { 
    $data = array(); 
    $user_id = (int)$user_id; 
    $func_num_args = func_num_args(); 
    $func_get_args = func_get_args(); 
if ($func_num_args > 1) { 
    unset($func_get_args[0]); 
$fields = '`' . implode ('`, `', $func_get_args) . '`'; 

$data = mysql_fetch_assoc(mysql_query("SELECT $fields FROM `users` WHERE `user_id` = $user_id")); 

return $data; 
    } 
    } 
function logged_in() { 
    return (isset($_SESSION['user_id'])) ? true : false; 
} 
function user_exists($username) { 
    $username = sanitize($username); 
    return (mysql_result(mysql_query("SELECT COUNT(`user_id`) FROM `users` WHERE `username` ='$username' "), 0) == 1) ? true : false; 
} 

而我的

loggedin.php : 
<div class="widget"> 
<h2 onClick="document.location.href='index2.php'">Hello<?php echo $user_data['first_name']; ?> ! </h2> 
<div class="inner"> 
+0

你能在这里显示你的错误吗? –

+0

它看起来像你的user_data函数,只有一个参数,并且你正在发送多个参数。 –

+0

如何解决这个问题@ K.Uzair –

回答

0

您是否已将您的$ user_data从init.php传递给loggedin.php? $ USER_DATA不是会话,所以你不能只是做$用户数据中的init.php和loggedin.php呼应吧... CMIIW

的var_dump可以帮助你寿”

0

改变你的init .php代码下面这个。

<?php 
session_start(); 
error_reporting(0); 
require 'database/connect.php'; 
require 'functions/general.php'; 
require 'functions/users.php'; 
$_SESSION['user_id'] = (int)1; 
if(logged_in() === false) { 
$session_user_id = $_SESSION['user_id']; 
$user_data = user_data($session_user_id);// just send user id here stored in session. 
echo $user_data['password']; 
if(user_active($user_data['username']) === false) { 
    session_destroy(); 
    header('Location: index2.php'); 
    exit(); 
} 
} 
$errors = array() ; 
?> 
+0

Plz解释你改变了什么。这将有助于OP和未来的访问者也 – devpro

+0

辜负家伙一切都很好现在 –

+0

所以你的代码中的错误在哪里。请解释,以便社区可以得到帮助:) –