Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.01.2010, 15:03   #1
Tirendus
Форумчанин
 
Аватар для Tirendus
 
Регистрация: 20.03.2009
Сообщений: 272
По умолчанию Функция авторизации не работает

Всем добрый день.

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

Вот функции, используемые в этих файлах:

1) эта выполняется нормально, проверял её в отдельном файле, привожу её, так как она используется в проблемной части. Это файл "bd_func.php"
Код:
function auth($user,$password){
  db_connect();  
  $query = "select * from database.admins where name='$user' and pass=md5('$password')";
  $result = mysql_query($query);
  $num_results = mysql_num_rows($result);

  if($num_results>0) {return true;}
  else {return false;}
}
2) Основная проблема, похоже, именно с этой функцией, файл "func.php":
Код:
function session($userid,$password,&$valid_user,&$cart,&$cart_small){
	session_start();
	//echo "session<BR>";
	require_once("bd_func.php");
	if ($userid && $password){
		//echo "session IF<br>";
		if (auth($userid,$password))
		{
			$valid_user = $userid;
			session_register("valid_user");
			
			array_card_small($cart_small);
			session_register("cart_small");
			
			$cart = array();
			session_register("cart");
		}
	}
}
3) Основной документ сайта, через него идет авторизация.
Код:
require_once("func.php");
require_once("index_func.php");
require_once("bd_func.php");

@session($userid,$password,$valid_user,$cart,$cart_small);
if (session_is_registered("valid_user")){
 	main();	
}else{
	show_auth_form();
Я не большой специалист в пхп, если вы видите тут явную ошибку или хотя бы намек на неё, пожалуйста, подскажите где или хотя бы в какую сторону копать. Если я чего-то недовыложил, могу выложить чего нехватает.
Буду признателен любой помощи.

Последний раз редактировалось Tirendus; 28.01.2010 в 15:06.
Tirendus вне форума Ответить с цитированием
Старый 28.01.2010, 15:35   #2
ssdm
Форумчанин
 
Регистрация: 20.05.2009
Сообщений: 506
По умолчанию

У вас данные из формы передаются ?
Код:
@session($userid,$password,$valid_user,$cart,$cart_small);
echo $userid;//посмотри что передается
echo $password;//
if (session_is_registered("valid_user")){
 	main();	
}else{
	show_auth_form();
ssdm вне форума Ответить с цитированием
Старый 28.01.2010, 15:42   #3
Tirendus
Форумчанин
 
Аватар для Tirendus
 
Регистрация: 20.03.2009
Сообщений: 272
По умолчанию

Да, передаются, "user" "password" отобразились
Tirendus вне форума Ответить с цитированием
Старый 28.01.2010, 15:49   #4
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,150
По умолчанию

Цитата:
... раньше она работала нормально, но почему-то вдруг дала сбой и больше входы не осуществляет.
Раньше - когда? Что меняли перед этим? Может с хостинга переезжали? или может хостер включил какие-то опции? или данный код перестал работать и на локальном хосте?
ADSoft вне форума Ответить с цитированием
Старый 28.01.2010, 15:54   #5
Tirendus
Форумчанин
 
Аватар для Tirendus
 
Регистрация: 20.03.2009
Сообщений: 272
По умолчанию

Уважаемый ADSoft.
Раньше - где-то 2 недели назад сайт работал как часы.
Перед этим даже не знаю, что меняли, наш бывший горесисадмин что-то там нахимичил и отнекивается, мол ничего не трогал.
С хостинга мы и правда переезжали, но это было более, чем две недели назад, так что, сомневаюсь, что в этом проблема.
На счёт того, что хостеры включили какие-то опции, сами эти хостеры сказали, что проблемы именно у нас и их они не особо волнуют, при этом, проблемы действительно у нас, все админские аккаунты работают, пробовал делать выборку из базы данных - тоже всё работает. Проблема где-то в коде.
В подключении к mysql базе действительно стоит параметр localhost, но все php файлы находятся на хостинге.
Tirendus вне форума Ответить с цитированием
Старый 28.01.2010, 17:03   #6
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,150
По умолчанию

Цитата:
Сообщение от Tirendus Посмотреть сообщение
В подключении к mysql базе действительно стоит параметр localhost, но все php файлы находятся на хостинге.
не так поняли.... я имею - если перенести скрипты и бд на локальную тачку - и там запустить и посмотреть... будет ясно - проблемы в разнице настроек хостинга или реально в алгоритме или реализации скрипта...
как один из наиболее часто встречающихся случев - изменение global register вкл/выкл
ADSoft вне форума Ответить с цитированием
Старый 28.01.2010, 17:20   #7
Tirendus
Форумчанин
 
Аватар для Tirendus
 
Регистрация: 20.03.2009
Сообщений: 272
По умолчанию

Если бы global register изменили, нам бы сообщили - это 100%.

Я смотрю, некоторые файлы связаны между собой и зависят друг от друга, но явной связи я найти не могу, я не слишком хорошо знаю php. Конечно, могу выложить эти файлы, их тут порядка 7 небольших, но будет ли у кого-то желание их просматривать?
Tirendus вне форума Ответить с цитированием
Старый 28.01.2010, 20:53   #8
motorway
Участник клуба
 
Регистрация: 28.06.2009
Сообщений: 1,950
По умолчанию

Включите везде показ всех ошибок и сравните с локальной версией. В крайнем случае проверьте содержимое переменных
motorway вне форума Ответить с цитированием
Старый 29.01.2010, 13:42   #9
Tirendus
Форумчанин
 
Аватар для Tirendus
 
Регистрация: 20.03.2009
Сообщений: 272
По умолчанию

Всем спасибо, проблема решена, у хостинга был выключен php. =\
Tirendus вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не работает функция keybd_event Hintman Win Api 31 05.06.2011 14:16
Не работает функция cin.get() dis Общие вопросы C/C++ 2 14.10.2009 18:40
Почему не работает функция? rocky7 Общие вопросы C/C++ 2 17.02.2009 08:37
Не работает функция gets()!!! Ilya'91 Общие вопросы C/C++ 1 28.07.2008 23:16
Не работает функция floor в Java POPOV Помощь студентам 1 24.04.2008 14:08