每当我尝试将$ _SESSION添加到数据库中时,都无法使用

时间:2018-10-02 18:44:45

标签: php mysql session

我有一个用于登录并获取其字段的代码,包括已登录用户的ID。我将其分配给变量,以便可以将其添加到表中,但是每当这样做时,它都无法正常工作。这是我的代码。

index.php

$conn=mysqli_connect('localhost','root','','database');
if(isset($_POST['loginbtn'])){
    $username = mysqli_real_escape_string($conn, $_POST['username']);
    $password = mysqli_real_escape_string($conn, $_POST['password']);
    if(empty($username) && empty($password)){
        $error= 'Please fill out the fields.';
    }
    else{
        $result=mysqli_query($conn,"SELECT * FROM tbl_user WHERE user_name='$username' AND user_password='$password'");
        $row=mysqli_fetch_assoc($result);
        $count=mysqli_num_rows($result);
    if($count==1){
        $_SESSION['user']=array(
        'username'=>$row['user_name'],
        'password'=>$row['user_password'],
        'role'=>$row['user_role'],
        'id'=>$row['user_id']
        );
        }   
    }
        else{
            $error='Incorrect username or password.';
        }
    }
}

page.php标头

<?php
include('phppage.php');
session_start();?>

phppage.php

if (isset($_POST['save'])) { 
$id=$_SESSION['user']['id'];
if(!$error){  
  mysqli_query($db, "INSERT INTO tbl_db(uploaded_by) VALUES ('$id');");
  header('location: page.php');
}}

我有这种代码,我希望使用会话将用户ID保存在变量中,并在单击“保存”按钮后将其添加到数据库字段中。请帮助。

2 个答案:

答案 0 :(得分:2)

您要在调用页面之后开始会话。

page.php标头

<?php
session_start();
include('phppage.php');

答案 1 :(得分:1)

我相信在您的page.php文件中,您需要对此进行更改:

<?php
include('phppage.php');
session_start();?>

对此:

<?php
session_start();
include('phppage.php');
?>

您需要先启动会话,然后才能从会话中调用任何变量。