[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Почему не работает?
comsoft
Помогите !!! Имеется стандартный скрипт авторизации. Данные о логине и пароле берутся стандартным запросом к таблице в MySQL. При этом все прекрасно работает под PHP4. Как только переношу весь скрипт на PHP5 не какой авторизации не происходит. Что делать?



Спустя 3 минуты, 25 секунд (5.09.2007 - 22:17) anadell написал(а):
Цитата(comsoft @ 5.9.2007, 19:14) [snapback]26843[/snapback]
Помогите !!! Имеется стандартный скрипт авторизации. Данные о логине и пароле берутся стандартным запросом к таблице в MySQL. При этом все прекрасно работает под PHP4. Как только переношу весь скрипт на PHP5 не какой авторизации не происходит. Что делать?


скрипт в студию!

Спустя 30 минут, 42 секунды (5.09.2007 - 22:48) comsoft написал(а):
Цитата(anadell @ 5.9.2007, 19:17) [snapback]26844[/snapback]
Цитата(comsoft @ 5.9.2007, 19:14) [snapback]26843[/snapback]
Помогите !!! Имеется стандартный скрипт авторизации. Данные о логине и пароле берутся стандартным запросом к таблице в MySQL. При этом все прекрасно работает под PHP4. Как только переношу весь скрипт на PHP5 не какой авторизации не происходит. Что делать?


скрипт в студию!


<?php
//*****Класс аутентификации пользователей*****
class AUTH
{
//Данные
var $AUTHUSER;
var $USER;
var $GROUP;
var $GRIDG;
var $ROLE;
var $RLIDR;
var $USIDUSER;
var $IDAUTH;
var $IDUSER;
var $LOGIN;
var $PASS;
var $IDGROUP;
var $IDROLE;
var $AUTHREZ;
var $ANR;
var $AF;
var $VU;
var $ALOG;
var $APAS;
//Методы
function AUTH($authus, $us, $gr, $gidg, $rl, $rlidrl, $usidus, $aida, $aidu, $al, $ap, $aidg, $aidr, $log, $pas)
{
$this->GROUP = $gr;
$this->GRIDG = $gidg;
$this->ROLE = $rl;
$this->RLIDR = $rlidrl;
$this->USER = $us;
$this->USIDUSER = $usidus;
$this->AUTHUSER = $authus;
$this->IDAUTH = $aida;
$this->IDUSER = $aidu;
$this->LOGIN = $al;
$this->PASS = $ap;
$this->IDGROUP = $aidg;
$this->IDROLE = $aidr;
$this->ALOG = $log;
$this->APAS = $pas;
$this->AUTHREZ = mysql_query("select * from $this->AUTHUSER as a, $this->USER as u, $this->GROUP as g, $this->ROLE as r where $this->LOGIN=\"$this->ALOG\" and $this->PASS=password(\"$this->APAS\") and $this->IDUSER=$this->USIDUSER and $this->GRIDG=$this->IDGROUP and $this->RLIDR=$this->IDROLE");
$ar = $this->AUTHREZ;
$this->ANR = mysql_num_rows($ar);
$this->AF = mysql_fetch_assoc($ar);
$af = $this->AF;
}
}
?>


А это сам файл в котором вызывается объект класса и собственно происходит аутентификация и вход.

<?php
session_start();
$parmnu = "1";
include("date.php");
include("clases.php");
include("config.php");
if (isset($uslogin) && isset($uspassword))
{
//Если пользователь пытается зарегистрироваться
$a = new AUTH("_authuser", "_user", "_group", "g.idgroup", "_role", "r.idrole", "u.iduser", "a.idauth", "a.iduser", "a.login", "a.pass", "a.idgroup", "a.idrole", "$uslogin", "$uspassword");
if ($a->ANR > 0)
//Если пользователь найден в базе данных зарегистрируем массив с его данными в сессию
{
$valid_user = $a->AF;
session_register("valid_user");
}
}
include("header.php");
if (session_is_registered("valid_user"))
{
include("varauth.php");
include("nc.php");
//Начало информационного окна интерфейса. (Входим в ИНТРАНЕТ и работаем согласно с группами и правами)********************************
// Отображаем заголовок главной страницы****************************************************
echo "<table background=\"images/interface/header.jpg\" height=\"80\" width=\"1001\" border=\"0\">";
echo "<tr>";
echo "<td width=\"1001\" height=\"80\" valign=\"baseline\">";
$um = new PRINT_PHOTO_USER("_usimg", "iduser", "usimag", $vi, $vr);
$pu = new PRINT_USER($vul, $vun, $vus, $vng, $vnr, $date_y, $date_m, $date_d, $date_dw);
echo "</td>";
echo "</tr>";
echo "</table>";
//Основные модули ИНТРАНЕТ******************************************
echo "<table width=\"1001\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">";
echo"<tr>";
echo "<td height=\"29\" colspan=\"6\" valign=\"top\"><!--DWLayoutEmptyCell--> </td>";
echo "</tr>";
//Левая колонка интерфейса с главным меню программы
echo "<tr>";
echo "<td width=\"273\" rowspan=\"4\" valign=\"top\">";
$gmnu = new MNU("_mnu", "idmnu", "namnu", "img", "imga", "imgb", "altmnu", $parmnu);
echo "</td>";
//Правая колонка интерфейса с главным информационным полем
echo "<td width=\"10\" rowspan=\"4\" valign=\"top\"><!--DWLayoutEmptyCell--> </td>";
echo "<td height=\"56\" colspan=\"3\" valign=\"top\" background=\"images/interface/win2/top.jpg\"><!--DWLayoutEmptyCell--> </td>";
echo "<td width=\"20\" rowspan=\"4\" valign=\"top\"><!--DWLayoutEmptyCell--> </td>";
echo "</tr>";
echo "<tr>";
echo "<td width=\"123\" height=\"324\" valign=\"top\" background=\"images/interface/win2/left.jpg\"><!--DWLayoutEmptyCell--> </td>";
echo "<td width=\"456\" valign=\"top\">";
//Отображаем лозунг дня и ежедневное сообщение
$ms = new MES("_mes", "idgroup", "data", "contmes", "imagmes", $vg, $isdate, "_loz", "idloz", "contloz", "minimagloz", "imagloz");
//Отображаем поздравление с днем рождения
include("cong.php");
//Информация о днях рождения
include("birth.php");
echo "</td>";
echo "<td width=\"119\" align=\"right\" valign=\"top\" background=\"images/interface/win2/right.jpg\"><!--DWLayoutEmptyCell--> </td>";
echo "</tr>";
echo "<tr>";
echo "<td height=\"51\" colspan=\"3\" valign=\"top\" background=\"images/interface/win2/bottom.jpg\"><!--DWLayoutEmptyCell--> </td>";
echo "</tr>";
echo "<tr>";
echo "<td height=\"50\" colspan=\"3\" valign=\"top\"><!--DWLayoutEmptyCell--> </td>";
echo "</tr>";
echo "</table>";
//Нижнее поле окна интерфейса
echo "<table width=\"1001\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">";
echo "<tr>";
echo "<td width=\"1001\" height=\"25\" align=\"center\" valign=\"middle\"><div class=\"f\">© 2006 \"Движок INTRANET портала astarta.ru\" Все интеллектуальные права на разработку и эксплуатацию принадлежат     ® \"Астарта престиж\" </div></td>";
echo "</tr>";
echo "</table>";
//Конец информационного окна интерфейса*******************************************************************************************
}
else
{
if (isset($uslogin))
{
//Если была попытка регистрации но возникла ошибка
echo "<div class=\"login2\">Введены неправильные данные для регистрации</div>";
}
else
{
//Если пользователь либо не пытался зарегистрироваться либо покинул сайт
echo "<div class=\"login1\">";
echo "Для входа в ИНТРАНЕТ необходимо пройти регистрацию.<br>";
echo "</div>";
}
//Форма для аутентификации
echo "<div class=\"login\">";
echo "<form method=post action=\"index.php\">";
echo "<table>";
echo "<tr><td>Логин:</td>";
echo "<td><input type=text name=uslogin></td></tr>";
echo "<tr><td>Пароль:</td>";
echo "<td><input type=password name=uspassword></td></tr>";
echo "<tr><td colspan=2 align=center>";
echo "<input type=submit value=\"ВХОД\"></td></tr>";
echo "</table></form>";
echo "</div>";
}
include("footer.php");
?>

Спустя 31 минута, 29 секунд (5.09.2007 - 23:20) Секстурист написал(а):
comsoft, ты забыл сделать размер кода в 18px и покрасить его в салатовый цвет.

Спустя 9 часов, 3 минуты, 7 секунд (6.09.2007 - 08:23) Alecs написал(а):
Работа с классами в PHP4 отличается от PHP5. Читай ман.

Спустя 12 дней, 3 часа, 19 минут, 47 секунд (18.09.2007 - 11:42) aka_bek написал(а):
Господа,
подскажите как правильно организовываются сессии в PHP5? Даже очень простой пример не хочет работать в "5", кода данный скрипт выполняется в "4" без ошибок.


код следующий:

<html>

<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
</head>

<body>

<?php

Switch($action):
Case ("close"):
{ session_start();

echo "На данной странице активный пользователь: ".$_SESSION['id']." (если пустой пробел, значит пользователь не определен!<br><br>";
echo "Дизрегистрируем пользователя...<br>";

unset($_SESSION['id']);
session_destroy();
echo "Теперь пользователь: ".$_SESSION['id']." (если пустой пробел, значит пользователь не определен!<br><br>";

echo "<a href=proba.php?action=default>На главную</a>";
}
break;

Case ("enter"):
{ session_start();
echo "На данной странице активный пользователь: ".$_SESSION['id']." (если пустой пробел, значит пользователь не определен!<br><br>";
echo "<a href=proba.php?action=close>Перейдем на следующую страницу</a>";

}
break;

Default:
{
echo "До старта сессии пользователя <br>";
echo "Выводим текущего пользователя:". $_SESSION['id']." (если пусто значит пользователь пока не определен! <br>";
session_start();
echo "<br>Регистрируем пользователя...<br>";
$_SESSION['id']='JENNIFER';
echo "Пользователь: ".$_SESSION['id']."<br>Начинается сессия пользователя<br><br>";
echo "<a href=proba.php?action=enter>Перейдем на следующую страницу</a>";

}
break;
Endswitch;

?>

</body>

</html>

Спустя 1 час, 10 минут, 57 секунд (18.09.2007 - 12:53) md5 написал(а):

Спустя 21 час, 2 минуты, 44 секунды (19.09.2007 - 09:56) aka_bek написал(а):
да, преследуя ссылку я наткнулся на решение проблемы (сессию нужно было открыть на самом верху, оказывается)

рахмет (по-казахски http://sozdik.kz/sozdik.php?word=рахмет

Спустя 26 дней, 3 часа, 8 минут, 25 секунд (15.10.2007 - 13:05) kyryll написал(а):
Это называется не в самом вверху, а до передачи заголовков (это, чтобы понимать на будущее).
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.