Как зарегистрировать сеанс для переменной и как использовать его на других страницах для поддержания пользователя с именем пользователя или паролем

#php #session

#php #сеанс

Вопрос:

Я хочу знать, как зарегистрировать сеанс для переменной и как использовать это на других страницах для поддержания пользователя с именем пользователя или паролем.

Мой код выглядит следующим образом:

Login.php

 <?php
session_start();
include('connect.php');
$name = $_POST['name'];
$password = $_POST['password'];
$role = $_POST['member'];
$sql = "select * from login_register where name = '$name' and password 
= '$password' and role = '$role'";
$retain = mysql_query($sql, $con);
// Mysql_num_row is counting table row
$count=mysql_num_rows($retain);
// If result matched $myusername and $mypassword, table row must be 1 row
if($count == 1){
// Register $myusername, $mypassword and redirect to file "login_success.php"
$_SESSION['name']=$name;
//header("location:admin_home.php");
if ( $role == "admin")
{
header("location:admin_home.php");
}
else  if ( $role == "member")
{
header("location:member_home.php");
}
}
else {
echo  "wrong username and password <a href='index.php'>click here to login   </a>";
}
?>
 

admin_page.php

 <?php 
// this starts the session 
session_start(); 
// this sets variables in the session 
$_SESSION['name']="name"; 
print "Done"; 
?> 
<html>
Welcome admin
<a href="admin_logout.php"> logout </a>
</html>
 

Я не хочу видеть пользователя на этой странице, не пройдя через учетные данные для входа..

Ответ №1:

Сохранить сеанс так же, как: $ _SESSION [‘username’] = «ваше имя пользователя»;

И на следующей странице вы проверяете, установлен ли сеанс с помощью: if(isset($_SESSION[‘username’])){ echo $ _SESSION[‘username’];}

Ответ №2:

Вы правильно устанавливаете переменную сеанса Login.php . Но затем admin_page.php перезаписывает его с:

 $_SESSION['name'] = "name";
 

Избавьтесь от этого назначения и просто используйте значение, которое было установлено на странице входа.

 if (!isset($_SESSION['name'])) {
    header("Location: Login.php"); // If not set, return to login page
    exit();
}
 

Комментарии:

1. Привет, Бармар … я пробовал ваши коды., теперь я не вижу admin_home.php напрямую.. но также, когда я вхожу в систему с правильным именем пользователя и паролем, он также не переходит в admin_home.php страница, которую он возвращает login.php только страница .. пожалуйста, помогите мне

2. Что var_dump($_SESSION) отображается на странице администратора после входа в систему?

3. я средний в PHP .. я не знаю о var_dump ($ _SESSION), а также не знаю, как использовать сеанс на другой странице

4. var_dump это вещь для начинающих, это то, как вы просматриваете содержимое переменных при отладке скрипта.

5. k … я использовал var_dump($ _session), он показывает следующее уведомление об ошибке: Неопределенная переменная: _SESSION в C:wampwwwuser_loginadmin_home.php в строке 2