我有一些简单的系统来上传文件,并使用数据库为每个特定用户跟踪它们。
我的问题是,我连接到文件checklogin.php
中的数据库,该文件负责处理来自$_POST
的{{1}}。
在文件'checklogin.php'中:
main_login.php
这是所有文件的全局变量。现在在文件$current_user_name = NULL;
中,我尝试包含signup.php
来定义该变量:
checklogin.php
正如您所看到的,我正在尝试设置变量require_once '/checklogin.php';
...
mysql_query("INSERT INTO " . tbl_name . " (username, userpassword, userisadmin)
VALUES (''" . $_POST['myusername'] . "',"
. "'" . md5($_POST['mypassword']). "',"
. "0)");
$current_user_name = $_POST['myusername'];
header("location:login_success.php");
的值,但当$current_user_name = $_POST['myusername'];
转到文件header
时,login_success.php
同样,该变量再次设置为require_once '/checklogin.php';
。
我该如何解决这个问题?即如何存储当前用户以便所有文件都可以访问它?
答案 0 :(得分:2)
答案 1 :(得分:1)
您无法访问checklogin.php
收到的参数您可以做什么,您可以检查登录状态并在会话中设置当前用户。
从会话变量中,您可以访问并设置当前用户。
答案 2 :(得分:1)
你可以为它设置会话变量,并且你可以像这样使用它
session_start();
if(isset($_SESSION['current_user_name']))
{
$current_user_name = $_SESSION['current_user_name'];
}
else
{
$current_user_name = NULL;
}
并将会话变量设置如下
session_start();
require_once '/checklogin.php';
////...
mysql_query("INSERT INTO " . tbl_name . " (username, userpassword, userisadmin)
VALUES (''" . $_POST['myusername'] . "',"
. "'" . md5($_POST['mypassword']). "',"
. "0)");
$current_user_name = $_POST['myusername'];
$_SESSION['current_user_name'] = $current_user_name; // set your session here
header("location:login_success.php");