在这段代码中,它之前被设计为使用session_id。我正在尝试从使用session_id转换为使用从数据库中检索的用户ID。我不确定我做错了什么,但函数没有返回变量。任何建议将不胜感激。
protected function get_user_id() {
//previous code used the session id
//@session_start();
//return session_id();
// New code to use User ID instead of session_id
// Connecting to the database
include ("../../../admin/includes/connect.php");
// Let's get the user ID from the database for use with the widget
$user_id_query = "SELECT nonadmin_user_id FROM `nonadmin_user_login` WHERE email = '$_SESSION[email]'";
$run_query = mysqli_query($conn, $user_id_query);
while($row=mysqli_fetch_array($run_query)){
// Create variable for the user's id
$nonadmin_user_id = $row['nonadmin_user_id']; }
return $nonadmin_user_id;
}
// This function needs to use the variable $nonadmin_user_id
protected function get_user_path() {
if ($this->options['user_dirs']) {
return $this->get_user_id().'/';
}
return '';
}
答案 0 :(得分:1)
“弗雷德,你是男人!这是会议。我在会议开始前删除了评论,现在它完美无缺。令我感到困惑的是,我的印象是,如果您在文件中启动会话,然后包含其他文件,包含的文件不需要启动会话。“
需要启动会话,以便在查询中成功识别并传递会话数组。
另外,session_start();
需要驻留在使用会话的所有文件中。
将error reporting添加到文件的顶部,这有助于查找错误。
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
// rest of your code
旁注:错误报告应仅在暂存时完成,而不是生产。