|
|
|
| Народ выскжите "восхищение" приведеным скриптом(скрипт для аторизации в админке) и укажите 3 причины почему он не работает(буду очень благодарен):
<?
error_reporting(0);
include ("../setup.php");
$resultg=mysql_query("select * from seting ");
$rog=mysql_fetch_array($resultg);
$Users = array($rog[0] => $rog[1]);
session_start();
session_register("SESSION");
if (! isset($SESSION)) {
$SESSION = array();
}
if($event=='exit') {
unset ($SESSION["password"]);
unset ($SESSION["username"]);
}
if($enter) {
$SESSION["username"] = $user;
$SESSION["password"] = $passw;
}
$username = $SESSION["username"];
$password = $SESSION["password"];
$dd = array_search($password, $Users);
?>
<style type=text/css>
input { FONT-FAMILY: MS Sans Serif; FONT-SIZE: 10px; }
select { FONT-FAMILY: MS Sans Serif; FONT-SIZE: 10px; }
a:hover { color: #86869B }
a:visited { color: navy }
a { color: navy }
a:active { color: #ff0000 }
body { FONT-FAMILY: Times New Roman; FONT-SIZE: 13pt; COLOR: #1F1F1F; }
</style>
<? if (empty($password) or $dd !== $username) { ?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head>
<meta http-equiv="content-type" content="text/html; charset=windows-1251" />
<title>Вход для администратора</title>
<link href="images/default.css" rel="stylesheet" type="text/css" media="screen">
</head>
<body>
<table border="0" align="center" cellpadding="2" cellspacing="0">
<tr>
<td class="bborder">
<table border="0" cellpadding="0" cellspacing="0" width="700">
<tr>
<td align="center" height="24" class="main">
<table border="0" cellspacing="0" cellpadding="5">
<tr>
<td>
</table>
<tr>
<td height="19">
<table border="0" cellpading="0"cellspacing="15" width="100%" height="100%">
<tr>
<td><div class="header"><img border="0" src="images/user.gif" align="absmiddle"> Vegas777.RU</div>
<tr>
<td width="100%" height="100%">
<table border="0" cellspacing="0" cellpadding="1">
<form action="<?=$PHP_SELF?>" method="post">
<tr>
<td width="80">Логин <td><input type="text" name="user" style="width:134">
<tr>
<td>Пароль <td><input type="password" name="passw" style="width:134">
<tr>
<td>
<td><input type="submit" name="enter" style="width:134;" value=" Войти ">
<tr>
<td align="center" colspan="3"></td>
</tr>
</form>
</table>
</table>
<tr>
<td height="24" align="center" class="copyrights"><div style="font-size: 9px;">Powered by <a style="font-size: 9px" href="http://dleo.net.ru" target=_blank>DigitalLeo</a></div></td>
</table>
</table>
</body>
</html>
<?
die();
}
?>
|
(сразу говорю это не мое(мне кажеться это очень смешным) но хочеться услышать мнение профи) | |
|
|
|
|
|
|
|
для: tvv123456
(22.01.2010 в 03:56)
| | ну во первых я тут не вижу как обрабатываются данные из формы, то есть $_POST['user'] и $_POST['passw'] ? потом вот так должен быть, без знака равенства <form action="<? $PHP_SELF?>" method="post">, и проверка if (empty($password) or $dd !== $username) мне не понятно, как я знаю array_search возвращает ключ искомого значения, а не само значение, да и неправильно вообще так проверить. | |
|
|
|
|
|
|
|
для: bab-nike
(23.01.2010 в 15:33)
| | >потом вот так должен быть, без знака равенства <form action="<? $PHP_SELF?>"
Уверены? | |
|
|
|
|
|
|
|
для: sim5
(23.01.2010 в 15:36)
| | ну ... за исключением того, что данные будут обрабатываться другим скриптом | |
|
|
|
|
|
|
|
для: bab-nike
(23.01.2010 в 15:45)
| | Даже так?! | |
|
|
|
|
|
|
|
для: sim5
(23.01.2010 в 15:52)
| | А парень юморист, а?)) | |
|
|
|
|
|
|
|
для: bab-nike
(23.01.2010 в 15:33)
| | Выставьте уровень предупреждений и ошибок в E_ALL и напишите одну лишь строку:
Что будет? | |
|
|
|
|
|
|
|
для: neadekvat
(23.01.2010 в 15:57)
| | а как по вашему должен быть? может я что то не врубаюсь на самом деле?
p.s. только не говорите $_SERVER['PHP_SELF'] | |
|
|
|
|
|
|
|
для: bab-nike
(23.01.2010 в 16:28)
| | Это вы уже сами сказали.
Вы попробовали сделать то, что посоветовали человеку и то, что посветовал сделать вам я? | |
|
|
|
|
|
|
|
для: neadekvat
(23.01.2010 в 16:29)
| | Ну есть доля истины в этих словах. Меня интересовали некоректная обработка POST и SESSION, точнее подтверждение этих слов | |
|
|
|
|
|
|
|
для: tvv123456
(24.01.2010 в 03:04)
| | Вы о register_globals почитайте сперва, затем о работе с сессией. | |
|
|
|
|
|
|
|
для: sim5
(24.01.2010 в 10:40)
| | + на экран ничего не выводится. | |
|
|
|
|
|
|
|
для: neadekvat
(24.01.2010 в 12:53)
| | еще не кто не отменил $PHP_SELF, и вместо $_SERVER['PHP_SELF'] вписать $PHP_SELF никак не повлияет на работоспособность скрипта. | |
|
|
|
|
|
|
|
для: bab-nike
(24.01.2010 в 14:38)
| | Внимательней читайте
на экран ничего не выводится.
|
К тому же, нормальные программисты уже давно не пользуются включенным register_globals()
[поправлено модератором] | |
|
|
|