я не могу получить идентификатор пользователя, вошедшего в систему, из моей базы данных

#php #mysql

#php #mysql

Вопрос:

Я использую PHP, чтобы получить идентификатор пользователя для отображения сведений о профиле вошедшего в систему пользователя, но я не могу получить идентификатор Вот мой код на странице входа

  $email =   mysqli_real_escape_string($con,$_POST['email']);
    $q = "select * from users where email = '$email'";
     $rows=mysql_fetch_assoc($q);
     $id = $rows['$id'];

   $result = mysqli_query($con, $q);

   $num = mysqli_num_rows($result);

   if($num == 1){
   $_SESSION['user'] = $email;
   header("location:home.php?id=$id");
   }else{ 
   $reg = "insert into users(email)  values ('$email')";
   mysqli_query($con, $reg);
    header('location:index.php?msg');
  }


  
  

Вот код моей домашней страницы

 <?php 
session_start();
if(!isset($_SESSION['user'])) {
 header("Location:index.php"); 
 exit; 

 
}
 $id = $_REQUEST['id']; 
 include_once('conn.php');
 $query="select * from users WHERE id= '$id' "; 
 $result=mysql_query($query);

  ?> 
  

Ответ №1:

Похоже, вы добавили $id со своей страницы входа в home.php?id=$id , а затем в свой home.php файл, вы пытаетесь получить это значение $ _GET [‘id’].

Вот что поможет вам в отладке.

  1. Сначала проверьте, есть ли на вашей странице входа в систему, что после успешного входа вы перенаправлены на home.php?id = $ id. Затем проверьте URL, если у вас правильный идентификатор
  2. Вместо этого используйте $ _GET [‘id’]. Вы можете попробовать echo $_GET['id']; посмотреть, есть ли какое-либо значение.