Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Перезагрузка страницы после авторизации

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
PaulWolf
Отправлено: 05 Января, 2013 - 20:34:12
Post Id


Новичок


Покинул форум
Сообщений всего: 34
Дата рег-ции: Дек. 2012  


Помог: 0 раз(а)




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

CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. $home_url = 'index.php';
  3. header('Location: '.$home_url);
  4.  


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

Или какое-то автообновление есть с помощью javascript, научите пожалуйста Улыбка

CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. <?php
  3. if (!isset($_COOKIE['id'])) {
  4.  
  5. if(isset($_POST['submit'])) {
  6.  
  7. $link = mysql_connect('localhost','root','') or die ('ERROR1');
  8. mysql_query("SET NAMES 'UTF8'", $link);
  9. mysql_select_db('table') or die('ERROR2');
  10.  
  11. $log = $_POST['login'];
  12. $pas = $_POST['password'];
  13.  
  14. if (!empty($log) and !empty($pas)) {
  15.  
  16. $sql = "SELECT id,login FROM users WHERE login = '$log' and password = SHA('$pas')";
  17.  
  18. $result = mysql_query($sql, $link);
  19.  
  20. if (mysql_num_rows($result) == 1 ) {
  21.  
  22. $row = mysql_fetch_array($result);
  23.  
  24. setcookie('id', $row['id'], time() * (60*60*24*365));
  25. setcookie('login', $row['login'], time() * (60*60*24*365));
  26.  
  27. $home_url = 'index.php';
  28. header('Location: '.$home_url);
  29. }
  30. }
  31. }
  32. }
  33.  
  34. if (empty($_COOKIE['id'])) {
  35.  
  36. print <<<HERE
  37. <div class="enter">
  38. <span class="form_id">
  39. <form id="enter" method="post">
  40. <input type="text" id="login" name="login" placeholder="Введите логин">  
  41. <input type="password" name="password" id="password" placeholder="Введите пароль">  
  42. <input type="submit" value="ВОЙТИ" name="submit">
  43. </form>
  44. </span>
  45. <span class="reg_exit">РЕГИСТРАЦИЯ: <a class="reg" href="signup.php">СТАТЬ УЧАСТНИКОМ</a>
  46. </span>
  47. </div>
  48. HERE;
  49.  
  50. } else {
  51.  
  52. print <<<HERE
  53. <div class="enter">
  54. <span class="form_id">Вы вошли как: <a class="reg" href="#">$_COOKIE[login]</a></span>
  55. <span class="reg_exit"><a class="reg" href="logout.php">ВЫЙТИ</a>
  56. </span>
  57. </div>
  58. HERE;
  59.  
  60. }
  61. ?>
  62.  

(Отредактировано автором: 05 Января, 2013 - 20:35:52)

 
 Top
LShark
Отправлено: 05 Января, 2013 - 20:51:03
Post Id



Частый гость


Покинул форум
Сообщений всего: 240
Дата рег-ции: Нояб. 2012  


Помог: 1 раз(а)




А почему проверку авторизации не вставить во внешний файл и потом его подключать в самом начале через required_once()?

Далее в нем же - удачная проверка - файл грузится дальше, если не удачная (не авторизован) - то тогда и делай перенаправление на страницу авторизации.

У меня в свое время была проверка по сессиям - так в подключаемом файле было:

if (!isset($_SESSION['password']) and !isset($_SESSION['login']) and !isset($_SESSION['name'])) {
exit ("Доступ на эту страницу разрешен только зарегистрированным пользователям. Если вы зарегистрированы, то войдите на сайт под своим логином и паролем<br><a href='\index.php'>Главная страница</a>");
}

т.е. проверил, что нужные переменные назначены (значит авторизацию прошел) - и тогда иди дальше. А если нет - ну тогда читай сообщение и иди на страницу авторизации.


-----
Истина прежде всего в том, что...
 
 Top
PaulWolf
Отправлено: 05 Января, 2013 - 20:54:53
Post Id


Новичок


Покинул форум
Сообщений всего: 34
Дата рег-ции: Дек. 2012  


Помог: 0 раз(а)




У меня доступ разрешен всем, и главное, я хочу реализовать форму входа на каждой странице, тоесть во всех страницах сайта эта форма ввода данных сверху если не вошел, а если вошел везде пишется : Вы вошли как user, то есть без отдельной страницы авторизации
 
 Top
broshurkaplus
Отправлено: 06 Января, 2013 - 11:11:28
Post Id



Посетитель


Покинул форум
Сообщений всего: 354
Дата рег-ции: Янв. 2011  
Откуда: Пружаны Бресткая обл. Беларусь


Помог: 2 раз(а)




объясните цели такого применения
я сейчас отошел от логина на каждой странице, зачем мне, хочешь войти - посети страницу- залогинься - вернись на ту с которой пришел...
а вообще полагаю у вас яваскрипт включен, добавьте квери, сделайте две строки кода чтобы скриптом вызывать форму посреди страницы, отправляйте ее динамический через квери на обработчик, и если все ок вставляете результат" Вы вошли как user" в нужное место. а на страницах если вход осуществлен пхп обрабатывайте и отображайте тоже.

но повторюсь, сейчас я пользую вход с отдельной страницы - никаких доп скриптов, меньше кода и тд. тем более все идет к тому что как минимум комментировать что то у вас на сайте разрешают сногие и без регистрации. ведь не думаю что ваш сайт в неделю регить будет по 100к юзеров
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB