Проверьте, вошел ли пользователь в систему или нет - PullRequest
2 голосов
/ 08 октября 2009

Я делаю веб-приложение, использующее PHP для поиска работы.

У меня есть один запрос; Когда пользователь не вошел в систему и хочет подать заявку на задание, нажав кнопку «Применить», он перенаправляет на страницу входа. Если пользователь вошел в систему при клике, он должен перейти непосредственно на страницу приложения. Я не уверен, как это реализовать.

Я запутался, потому что я новичок в PHP.

Ответы [ 6 ]

3 голосов
/ 08 октября 2009

Ваш вопрос очень расплывчатый - возможно, начните с Аутентификация в PHP

1 голос
/ 08 октября 2009

Хорошо, когда пользователь нажимает «применить» в вашем приложении, пользователь перенаправляется на страницу входа, если он не вошел в систему (что можно проверить, существует ли пользователь сеанс или нет), помните при перенаправлении страницы отправьте URL-адрес текущей страницы в параметрах на свою страницу входа в систему, чтобы при входе пользователя он мог перенаправиться обратно на предыдущую страницу и нажал кнопку Применить. для этой конкретной работы .....
Вот как работает логика, если вам нужно объяснение php, mysql, вам понадобится некоторое время, чтобы понять, как вы сами признали, что вы новичок в php.

1 голос
/ 08 октября 2009

Вы можете сохранить значение в сеансе под названием «Вход» и установить его, когда пользователь входит в систему. Это также может быть использовано для перенаправления пользователя, если он не вошел в систему:

<?php

  // check that the session variable does exist
  // check that the user 'LoggedIn' has been set to 1 (true)
  if (!isset($_SESSION['LoggedIn']) && $_SESSION['LoggedIn'] != 1)
  {
       // redirect to login page for user to authenticate themselves.
       // pass page location (with parameters if necessary) to redirect
       // the user on successful login.
       header("Location: Login.php?redir=ApplyForJob.php?JobID=12345");
  }
  else
  {
       // user is logged in
       // redirect the user directly to the apply for job page.
       header("Location: ApplyForJob.php?JobID=12345");
  }

?>
0 голосов
/ 08 октября 2009

Есть две вещи, о которых вам нужно беспокоиться ... проверка того, что они вошли в систему, и затем, как только они вошли в систему, направив их на нужную страницу.

Это все о «сохранении состояния» между запросами страницы. Для этого вам нужно использовать куки или более полезные сеансы (которые могут быть сделаны с помощью куки или автоматически обработаны PHP-движком).

Сессии, вероятно, хороший путь. Чтобы использовать сеансы, каждая страница должна начинаться с

<?php session_start(); ?>

по крайней мере, перед любым HTML-кодом, который пишет в браузер.

Как только это будет сделано, вы можете использовать переменную сеанса для хранения

<?php $_SESSION['user']='joe_blow'; ?>

(и проверка)

<?php
  if(isset($_SESSION['user']) && $_SESSION['user']!='' {
     // do something
  }
?>

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

<?php header("location: ".$_SESSION['redirect_location']));

Но для того, чтобы написать еще один полезный код, я думаю, что люди должны были бы знать, какой метод аутентификации вы использовали ... (Как вы входите в систему? готовый пакет?)

0 голосов
/ 08 октября 2009

На каждой странице установите куки или сеанс, на какой странице они только что были:

$expire=time()+60*60*24*30;
setcookie("wherewasi","",time() - 1000);
setcookie("wherewasi",$_SERVER['REQUEST_URI'], $expire);

Затем после входа в систему перенаправьте их:

$loc = ($_COOKIE['wherewasi'])?$_COOKIE['wherewasi']:'index.php';
header("location: ".$loc);
exit();
0 голосов
/ 08 октября 2009

Можете ли вы, когда пользователь входит в систему, назначить этому пользователю переменную $_Session? после аутентификации вы устанавливаете переменную $_SESSION['user'].

$_SESSION['user']='admin';

Так что, если вы хотите проверить, вошел ли пользователь после этого, просто используйте это:

if(isset($_SESSION['user']))
{
  // user is login, direct to the job page
}

else
{
  // no login, go to the login page
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...