#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