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 :: ошибка в моем AUTH.PHP

 PHP.SU

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


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

> Без описания
xaser
Отправлено: 01 Февраля, 2012 - 23:56:06
Post Id



Новичок


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


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




AUTH.PHP

CODE (htmlphp):
скопировать код в буфер обмена
  1. <?php
  2.  
  3. // Данный файл всегда будит "включаться" в другие файлы
  4. // директивой include поэтому следует запретить его самостоятельный вызов
  5. // из строки запроса путём указания его имени
  6. // Если не определена константа IN_ADMIN – завершаем работу скрипта
  7. if(!defined("IN_ADMIN")) die;
  8.  
  9. if ( ($_SESSION['authorized']) AND ($_SESSION['ip'] = $_SERVER['REMOTE_ADDR']) ){exit;}
  10.  
  11.  
  12.  
  13. $_SESSION['authorized'] = false;
  14. $access = array();
  15. $PP=htmlspecialchars($_POST['Password']); $PL=htmlspecialchars($_POST['Login']);
  16.  
  17. if( (!empty($_POST['enter'])) AND (!empty($PL)) AND (!empty($PP)) ) {
  18. $login = ""; $passw = ""; $access = file("data.php");
  19. for ($x=1; $x<count($access); $x++){
  20.  $vp=explode("|",$access[$x]);
  21.     if ( $PL === trim($vp[0]) &&  $PP === trim($vp[1]) ){
  22.      $_SESSION['login'] = $PL;
  23.      $_SESSION['passw'] = $PP;
  24.      $login = trim($vp[0]);
  25.   $passw = trim($vp[1]);
  26.   $_SESSION['user']=trim($vp[2]);
  27.   $_SESSION['authorized'] = true;
  28.   $_SESSION['ip'] = $_SERVER['REMOTE_ADDR'];
  29.  }
  30. }
  31. }
  32.  
  33.  
  34. if( empty($_SESSION['login']) or empty($_SESSION['passw']) ) {
  35. $_SESSION['authorized'] = false; @header("Location: main.html"); die;
  36. }else{
  37. if (UserExist($_SESSION['login'],$_SESSION['passw'])==false){
  38.  $_SESSION['authorized'] = false; @header("Location: main.html"); die;
  39. }
  40. }
  41.  
  42. function UserExist($l,$p){
  43. $rez=false;
  44. $login = "";$passw = "";
  45. $PP1=htmlspecialchars($p); $PL1=htmlspecialchars($l);
  46. $access1 = file("data.php");
  47. for ($x=1; $x<count($access1); $x++){
  48.  $vp=explode("|",$access1[$x]);
  49.     if ( $PL1 === trim($vp[0]) &&  $PP1 === trim($vp[1]) ){
  50.      $rez=true; break;
  51.  }
  52. }
  53. return $rez;
  54. }
  55.  
  56. ?>
  57.  



принцип работы:
вызываю из index.php через
CODE (htmlphp):
скопировать код в буфер обмена
  1. <?php
  2. include "auth.php";
  3.  



в результате - пустой экран! Удалось выяснить, что доходит до EXIT (строка 42) в AUTH.PHP, а назад в Индекс не возвращается...
в чем ошибка?

(Отредактировано автором: 01 Февраля, 2012 - 23:57:29)

 
 Top
OrmaJever Модератор
Отправлено: 02 Февраля, 2012 - 00:17:52
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


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




xaser пишет:
а назад в Индекс не возвращается...

Где написано что должно возвращатся в индекс? или индекс это main.html?
xaser пишет:

вот не надо так делать (я про собачку перед функцией). Это грубейшая ошибка скорее всего из-за которой вы и пишите сюда. Если убрать собачку то там скорее всего стандартная ошибка. http://forum.php.su/topic.php?fo...1&topic=3026


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
xaser
Отправлено: 02 Февраля, 2012 - 00:30:39
Post Id



Новичок


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


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




собачку убрал - не помогло (кстати, не знаю, что она означает)

есть у меня три файла...
main.html - вроде заставки, приветственная страница с полями аутентификации
index.php - основной рабочий файл, который работает с пользователем после успешного логина.
auth.php - подключаемый файл авторизации...
(есть еще data.php, где хранятся пароли, но там смотреть нечего)

итого... ФОРМА из МЕЙНА отправляет поля в Индекс, в котором подключен AUTH.PHP, и в который, собственно, Индекс поля передает для проверки... если ок - работаем в индексе, Нот_Гуд - назад в Мейн...
 
 Top
OrmaJever Модератор
Отправлено: 02 Февраля, 2012 - 01:14:55
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


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




xaser пишет:
если ок - работаем в индексе

Ну вот скрипт и работает в индексе, доходит до exit() и умирает


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
xaser
Отправлено: 02 Февраля, 2012 - 01:18:20
Post Id



Новичок


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


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




нет, он умирает на ЭКЗИТЕ подключенного скрипта AUTH.PHP Огорчение
(Добавление)
я убрал функцию из AUTH.PHP и EXIT тоже... все заработало...
разве нельзя создавать функции в скрипте, если он впоследствии планируется подключаться через INCLUDE ?
Растерялся
 
 Top
OrmaJever Модератор
Отправлено: 02 Февраля, 2012 - 01:43:28
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


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




exit останавливает скрипт полностью, в вашем случае return.


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 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