Распределение доступов.

  • Автор темы Автор темы rooot
  • Дата начала Дата начала

rooot

Новичок
Распределение доступов.

Есть небольшая система ХХХ, есть БД с пользователями причем там всего один столбец с именами пользователей которые берутся из $_SERVER['PHP_AUTH_USER'];, есть несколько страниц с администриловками, куда бы не хотелось бы чтобы постороние попадали а только те пользователи которые в бд, подскажите направление куда плыть?
 
В сторону книжек, статей, мануалов и факов. Если ты считаешь что первый столкнулся с такой проблемой - то ты в корне не прав.
 
<?php
$login = $_SERVER['PHP_AUTH_USER'];
$msconnect=mssql_connect("localhost","root","777");
$msdb=mssql_select_db("sklad",$msconnect);
$msquery = "SELECT * FROM admins WHERE login='$logins'";
$msresults = mssql_query($msquery);
mssql_close($msconnect);
if ( (!isset($login)) || ! (($_SERVER['PHP_AUTH_USER'] == $login)) {
.........
exit;
}
else if {
........
exit;
}
?>
Почему данный скрип не работает?
 
оп сори это не то ВОТ
PHP:
<?php
$login = $_SERVER['PHP_AUTH_USER'];
$msconnect=mssql_connect("localhost","root","777");
$msdb=mssql_select_db("sklad",$msconnect);
$msquery = "SELECT * FROM admins WHERE login='$logins'";
$msresults = mssql_query($msquery);
mssql_close($msconnect);

if($login == $msresult['login']) {
echo "OK";

} else {
echo "Отказано в доступе";

}

?>
пишет постоянно отказано причем запись нужна есть в БД.
 
$login = $_SERVER['PHP_AUTH_USER'];
.
.
$msquery = "SELECT * FROM admins WHERE login='$logins'";

Это что?
 
$msquery = "SELECT * FROM admins WHERE login='$login'";
поправка

-~{}~ 12.05.05 17:33:

sakon
$login = $_SERVER['PHP_AUTH_USER'];
Сетевое имя пользователя из phpinfo();
 
на вскидку вижу у тебя 2 ошибки:

1)
PHP:
$msquery = "SELECT * FROM admins WHERE login='$logins'";
- у тебя нету переменной $logins, но зато есть переменная $login, тоесть нужно писать вот так:
PHP:
$msquery = "SELECT * FROM `admins` WHERE `login`='$login'";

2)
PHP:
if($login == $msresult['login'])
- для сравнения строк в ПХП нужно использовать оператор ===

-~{}~ 12.05.05 16:34:

упс :) не успел :)
 
rooot
Блин....
Что у тебя показывает
echo $msquery;
И иди читать ссылку которую тебе дал SiMM
 
SELECT * FROM admins WHERE login='ivanov'
то что надо
sakon

-~{}~ 12.05.05 17:37:

adebt
$login = $_SERVER['PHP_AUTH_USER'];
$msconnect=mssql_connect("localhost","root","777");
$msdb=mssql_select_db("sklad",$msconnect);
$msquery = "SELECT * FROM admins WHERE login='$login'";
$msresults = mssql_query($msquery);
mssql_close($msconnect);

if($login === $msresult['login']) {
echo "OK";
echo $login;
echo $msresult['login'];
echo $msquery;
} else {
echo "Отказано в доступе";
echo $login;
echo $msresult['login'];
echo $msquery;
}
то же само отказ ((

-~{}~ 12.05.05 17:38:

причем в таблице есть запись ivanov

-~{}~ 12.05.05 17:40:

Notice: Undefined variable: msresult in c:\inetpub\wwwroot\input.php on line 12
 
rooot, нихрена я у тебя понять не могу.... либо ты очень невнимателен, либо тебе действительно стоит пойти почитать литературу...

$msresults = mssql_query($msquery);
echo $msresult['login'];

в этих двух строках ты никакого несоответствия не находишь?
 
нашел я ошибку

-~{}~ 12.05.05 17:42:

adebt
да да s пропустил , уже заметил
 
<?php
$login = $_SERVER['PHP_AUTH_USER'];
$msconnect=mssql_connect("localhost","root","777");
$msdb=mssql_select_db("sklad",$msconnect);
$msquery = "SELECT * FROM admins WHERE login='$login'";
$msresults = mssql_query($msquery);
mssql_close($msconnect);
if($login === $msresults['login']) {
echo "OK";
} else {
echo "Отказано в доступе";
}

?>
прикол, вроде все чисто, опять отказ )
 
За это время давно уже можно было прочесть хотя бы мануал по [m]mssql_query[/m] (например, взглянуть на пример от 30-Apr-2003 05:16), если уж не знаешь, как данные из базы доставать.
 
Все всем спасибо все заработало ))
<?php
$login = $_SERVER['PHP_AUTH_USER'];
$msconnect=mssql_connect("localhost","root","777");
$msdb=mssql_select_db("sklad",$msconnect);
$msquery = "SELECT * FROM admins WHERE login='$login'";
$msresults = mssql_query($msquery);
$row = mssql_fetch_assoc($msresults);
if($login === $row['login']) {
echo "OK";
} else {
echo "Отказано в доступе";
}
?>
 
Сверху