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]   

> Без описания
maks
Отправлено: 24 Ноября, 2017 - 21:26:31
Post Id



Новичок


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


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




PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. require("blocks/bd.php");
  4. if (!isset($_SERVER['PHP_AUTH_USER']))
  5.  
  6. {
  7.         Header ("WWW-Authenticate: Basic realm=\"Admin Page\"");
  8.         Header ("HTTP/1.0 401 Unauthorized");
  9.         exit();
  10. }
  11.  
  12. else {
  13.         if (!get_magic_quotes_gpc()) {
  14.                 $_SERVER['PHP_AUTH_USER'] = mysql_escape_string($_SERVER['PHP_AUTH_USER']);
  15.                 $_SERVER['PHP_AUTH_PW'] = mysql_escape_string($_SERVER['PHP_AUTH_PW']);
  16.         }
  17.  
  18.         $result = "SELECT pass FROM users WHERE login='".$_SERVER['PHP_AUTH_USER']."' AND status='Исполнитель'";
  19.         $lst = @mysql_query($result);
  20.  
  21.         if (!$lst)
  22.         {
  23.             Header ("WWW-Authenticate: Basic realm=\"Admin Page\"");
  24.         Header ("HTTP/1.0 401 Unauthorized");
  25.         exit();
  26.         }
  27.  
  28.         if (mysql_num_rows($lst) == 0)
  29.         {
  30.            Header ("WWW-Authenticate: Basic realm=\"Admin Page\"");
  31.            Header ("HTTP/1.0 401 Unauthorized");
  32.            exit();
  33.         }
  34.  
  35.         $pass =  @mysql_fetch_array($lst);
  36.         if ($_SERVER['PHP_AUTH_PW']!= $pass['pass'])
  37.         {
  38.             Header ("WWW-Authenticate: Basic realm=\"Admin Page\"");
  39.            Header ("HTTP/1.0 401 Unauthorized");
  40.            exit();
  41.         }
  42.  
  43.  
  44. }
  45.  
  46.  
  47.  
  48.  
  49. ?>
  50.  

есть скрипт но на хостинге работать не хочет помогите почему ?
 
 Top
Vladimir Kheifets
Отправлено: 25 Ноября, 2017 - 07:40:46
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 879
Дата рег-ции: Март 2017  
Откуда: Германия, Бавария


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




maks пишет:
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. require("blocks/bd.php");
  4. if (!isset($_SERVER['PHP_AUTH_USER']))
  5.  
  6. {
  7.         Header ("WWW-Authenticate: Basic realm=\"Admin Page\"");
  8.         Header ("HTTP/1.0 401 Unauthorized");
  9.         exit();
  10. }
  11.  
  12. else {
  13.         if (!get_magic_quotes_gpc()) {
  14.                 $_SERVER['PHP_AUTH_USER'] = mysql_escape_string($_SERVER['PHP_AUTH_USER']);
  15.                 $_SERVER['PHP_AUTH_PW'] = mysql_escape_string($_SERVER['PHP_AUTH_PW']);
  16.         }
  17.  
  18.         $result = "SELECT pass FROM users WHERE login='".$_SERVER['PHP_AUTH_USER']."' AND status='Исполнитель'";
  19.         $lst = @mysql_query($result);
  20.  
  21.         if (!$lst)
  22.         {
  23.             Header ("WWW-Authenticate: Basic realm=\"Admin Page\"");
  24.         Header ("HTTP/1.0 401 Unauthorized");
  25.         exit();
  26.         }
  27.  
  28.         if (mysql_num_rows($lst) == 0)
  29.         {
  30.            Header ("WWW-Authenticate: Basic realm=\"Admin Page\"");
  31.            Header ("HTTP/1.0 401 Unauthorized");
  32.            exit();
  33.         }
  34.  
  35.         $pass =  @mysql_fetch_array($lst);
  36.         if ($_SERVER['PHP_AUTH_PW']!= $pass['pass'])
  37.         {
  38.             Header ("WWW-Authenticate: Basic realm=\"Admin Page\"");
  39.            Header ("HTTP/1.0 401 Unauthorized");
  40.            exit();
  41.         }
  42.  
  43.  
  44. }
  45.  
  46.  
  47.  
  48.  
  49. ?>
  50.  

есть скрипт но на хостинге работать не хочет помогите почему ?

Доброе утро, Maks!
Вероятно виноват require
Подсказка здесь: http://php.net/manual/ru/function.header.php
Цитата:
Помните, что функцию header() можно вызывать только если клиенту еще не передавались данные. То есть она должна идти первой в выводе, перед ее вызовом не должно быть никаких HTML тэгов, пустых строк и т.п. Довольно часто возникает ошибка, когда при чтении кода файловыми функциями, вроде include или require, в этом коде попадаются пробелы или пустые строки, которые выводятся до вызова header(). Те же проблемы могут возникать и при использовании одиночного PHP/HTML файла.

p.s. Обратите, пожалуйста, внимание на то, что в Вашем коде четыре раза повторяются три строки:
PHP:
скопировать код в буфер обмена
  1. Header ("WWW-Authenticate: Basic realm=\"Admin Page\"");
  2. Header ("HTTP/1.0 401 Unauthorized");
  3. exit();
Если это необходимо, в чём я не уверен, но эти строки лучше оформить как функцию.
Удачи!

(Отредактировано автором: 25 Ноября, 2017 - 07:41:34)

 
 Top
maks
Отправлено: 25 Ноября, 2017 - 22:29:12
Post Id



Новичок


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


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




Не понял include сделал все равно не фига не помогает... ппц надо свое писать блин не понимаю как так то работает на денвере но не работает на сайте кто знает почему ?
 
 Top
teleoperator27
Отправлено: 26 Ноября, 2017 - 03:05:04
Post Id



Посетитель


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


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




Да потому что вы притомили Улыбка Сколько можно повторять: включай вывод ошибок и смотри, что в них написано, а не гадай на кофейной гуще.
 
My status
 Top
Vladimir Kheifets
Отправлено: 26 Ноября, 2017 - 10:23:35
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 879
Дата рег-ции: Март 2017  
Откуда: Германия, Бавария


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




maks пишет:
Не понял include сделал все равно не фига не помогает... ппц надо свое писать блин не понимаю как так то работает на денвере но не работает на сайте кто знает почему ?

Доброе утро, Мaks!
Дело не в include или require, а в том, что если что-то отправляется до Header , то работать не будет.
Например, см. ниже у Вас есть в начале кода пустая строка или хотя бы один пробел перед перед <?
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. .....................
  4. .....................
  5.  

Для начала, советую Вам посмотреть в браузере HTML на предмет пустышек перед header.
Неплохо бы в PHP добавить error_reporting(E_ALL) и распечать $_SERVER['PHP_AUTH_USER'] и $_SERVER['PHP_AUTH_PW']
Удачи!

(Отредактировано автором: 26 Ноября, 2017 - 13:58:28)

 
 Top
shahin
Отправлено: 26 Ноября, 2017 - 22:43:10
Post Id


Забанен


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


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




mysql уже не поддерживается используй mysqli
(Добавление)
И вообще не советую использовать эту авторизацию как основную
 
 Top
Vladimir Kheifets
Отправлено: 27 Ноября, 2017 - 08:06:35
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 879
Дата рег-ции: Март 2017  
Откуда: Германия, Бавария


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




shahin пишет:
mysql уже не поддерживается используй mysqli
(Добавление)
И вообще не советую использовать эту авторизацию как основную

Доброе утро! Вы правы, что лучше использовать mysqli и не использовать эту авторизацию как основную, но mysql поддерживается и был исключён только в версии PHP 7.0.0 Если Вы посмотрите phpinfo в версии PHP 5.6.32, то увидите MySQL Support и MysqlI Support.
Вполне возможно, что на сервере установлен PHP7, а на денвере ещё нет и это объясняет проблему.
Удачи!

(Отредактировано автором: 27 Ноября, 2017 - 08:07:56)

 
 Top
shahin
Отправлено: 27 Ноября, 2017 - 08:59:56
Post Id


Забанен


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


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




Vladimir Kheifets пишет:
mysql поддерживается и был исключён только в версии PHP 7.0.0

Я использую 7мую версию и думал что его удалили
 
 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