Intereting Posts
PhpStorm не откроет файл моментального снимка профайлера xdebug Преобразование perl-ассоциативного массива в массив PHP как сохранить php-код в базе данных Как обновлять / вставлять случайные даты в SQL в пределах заданного диапазона дат URL-адрес запроса php, не дожидаясь ответа Функция mime_content_type () не работает Нужно руководство относительно правильного потока моей PHP MVC Framework Как я могу реализовать jquery в приложении Zend Framework по-своему? Программно найти файл журнала ошибок PHP Как заказать результаты с помощью findBy () в Доктрине Какое регулярное выражение используется для преобразования этой строки в массив? Обнаружение кодировки файлов в PHP Насколько безопасна моя система входа в систему PHP? Работа с CSV-файлом с нечетной инкапсуляцией // PHP Как я могу создать в целом эстетически приятный диапазон цветов линейного графика (неизвестный номер), начиная с базового цвета?

не удалось получить переменную $ _SESSION

эта ошибка
В Log-in.php у меня есть

$email=$_POST['email']; $pass=$_POST['pass']; $_SESSION['type'] = 'user'; $_SESSION['email'] = $email; $_SESSION['pass']=$pass; header('location:./connect.php'); 

Я получаю ошибку, как undefined index email для другого входа пользователя, с другой стороны я могу войти в систему как администратор здесь.

У меня есть форма входа в систему, которая видит, что это за вход, и передайте этот тип в сеансе в этом connect.php, чтобы проверить, какой тип он есть, а затем он работает хорошо, но, к сожалению, t изменить больше.

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

 if(empty($_SESSION)) { session_regenerate_id(); session_start(); } @mysql_connect('localhost','root','') or die("ERROR in SERVER"); @mysql_select_db('module') or die("ERROR IN DATABASE"); $_SESSION['start'] = time(); // taking now logged in time if(!isset($_SESSION['expire'])){ $_SESSION['expire'] = $_SESSION['start'] + (60* 60) ; // ending a session in 30 seconds } $now = time(); // checking the time now when home page starts if($now > $_SESSION['expire']) { session_destroy(); } if(!empty($_SESSION['type'])) { $email = $_SESSION['email']; $pass = $_SESSION['pass']; $type = $_SESSION['type']; // admin login // if($type == 'admin'){ $admin = mysql_query("SELECT * FROM `admin` WHERE `email` ='$email' "); $res = mysql_fetch_array($admin); if($email == "" || $pass == "" || $email != $res['email'] || $pass != $res['pass']) { header('location:./login/login.php'); } } // user login // if($type == 'user') { $email = $_SESSION['email']; $pass = $_SESSION['pass']; $type = $_SESSION['type']; $user = mysql_query("SELECT `id` FROM `users` WHERE `email`='$email' AND `status`='1'"); $useres = mysql_fetch_array($user); // $trail = $useres['date']; // $time = explode("/",$trail); if($email != $useres['email'] || $pass != $useres['pass']) { echo mysql_error(); // header('location:./login/login.php'); } else if($pass = $useres['pass']){ // echo '<script> location.replace("./user.php"); </script>'; } } // agent login // if($type == 'agent') { $email = $_SESSION['email']; $pass = $_SESSION['pass']; $type = $_SESSION['type']; $agent = mysql_query("SELECT `id` FROM `sale_agents` WHERE `email`='$email'"); $agentres = mysql_fetch_array($agent); if($email != $agentres['email'] || $pass != $agentres['pass']) { header('location:./login/login.php'); } else if($pass = $agentres['pass']){ // echo '<script> location.replace("./agent.php"); </script>'; } } } else{ header('location:./login/login.php'); } 

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

Сеансы шаг за шагом

  1. Определение сеанса перед всем, до выхода не должно быть, NO OUTPUT

     <?php session_start(); ?> 
  2. Установите сеанс на странице, а затем у вас есть доступ к нему, например, это страница 1.php

     <?php //This is page 1 and then we will use session that defined from this page: session_start(); $_SESSION['email]='email@example.com'; ?> 
  3. Использование и получение сеанса в 2.php

      <?php //In this page I am going to use session: session_start(); if($_SESSION['email']){ echo 'Your Email Is Here! :) '; } ?> 

ПРИМЕЧАНИЕ . Комментарии не выводятся.


Возможно, ответ на ваш вопрос:

Я думаю, что вы не устанавливаете сеанс, и из-за этого PHP не знает эту переменную сеанса .

Ваш логин должен быть таким

  <?php session_start(); $email=$_POST['email']; $pass=$_POST['pass']; $_SESSION['type'] = 'user'; $_SESSION['email'] = $email; $_SESSION['pass']=$pass; header('location:./connect.php'); ?> 

Установите этот код в login.php:

 session_start(); $email = $_POST['email']; $pass = $_POST['pass']; $_SESSION['type'] = 'user'; $_SESSION['email'] = $email; $_SESSION['pass'] = $pass; header('location:./connect.php'); 

И это в connect.php:

 session_start(); @mysql_connect('localhost', 'root', '') or die("ERROR in SERVER"); @mysql_select_db('module') or die("ERROR IN DATABASE"); $_SESSION['start'] = time(); // taking now logged in time if (!isset($_SESSION['expire'])) { $_SESSION['expire'] = $_SESSION['start'] + (60 * 60); } $now = time(); // checking the time now when home page starts if ($now > $_SESSION['expire']) { session_destroy(); header('location:./login/login.php'); } if (isset($_SESSION['email']) && !empty($_SESSION['email']) && isset($_SESSION['pass']) && !empty($_SESSION['pass']) && isset($_SESSION['type']) && !empty($_SESSION['type'])) { $email = $_SESSION['email']; $pass = $_SESSION['pass']; $type = $_SESSION['type']; // admin login // if ($type == 'admin') { $admin = mysql_query("SELECT * FROM `admin` WHERE `email`='$email'"); $res = mysql_fetch_array($admin); if ($email == "" || $pass == "" || $email != $res['email'] || $pass != $res['pass']) { session_destroy(); header('location:./login/login.php'); } } // user login // if ($type == 'user') { $user = mysql_query("SELECT `id` FROM `users` WHERE `email`='$email' AND `status`='1'"); $useres = mysql_fetch_array($user); // $trail = $useres['date']; // $time = explode("/",$trail); if ($email != $useres['email'] || $pass != $useres['pass']) { session_destroy(); header('location:./login/login.php'); } } // agent login // if ($type == 'agent') { $agent = mysql_query("SELECT `id` FROM `sale_agents` WHERE `email`='$email'"); $agentres = mysql_fetch_array($agent); if ($email != $agentres['email'] || $pass != $agentres['pass']) { session_destroy(); header('location:./login/login.php'); } } } else { header('location:./login/login.php'); } 

Я надеюсь, что это поможет вам.