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

rooot

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

Есть небольшая система ХХХ, есть БД с пользователями причем там всего один столбец с именами пользователей которые берутся из $_SERVER['PHP_AUTH_USER'];, есть несколько страниц с администриловками, куда бы не хотелось бы чтобы постороние попадали а только те пользователи которые в бд, подскажите направление куда плыть?
 

rembo

Новичок
В сторону книжек, статей, мануалов и факов. Если ты считаешь что первый столкнулся с такой проблемой - то ты в корне не прав.
 

rooot

Новичок
<?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;
}
?>
Почему данный скрип не работает?
 

rooot

Новичок
оп сори это не то ВОТ
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 "Отказано в доступе";

}

?>
пишет постоянно отказано причем запись нужна есть в БД.
 

sakon

П..и.н..ок
$login = $_SERVER['PHP_AUTH_USER'];
.
.
$msquery = "SELECT * FROM admins WHERE login='$logins'";

Это что?
 

rooot

Новичок
$msquery = "SELECT * FROM admins WHERE login='$login'";
поправка

-~{}~ 12.05.05 17:33:

sakon
$login = $_SERVER['PHP_AUTH_USER'];
Сетевое имя пользователя из phpinfo();
 

adebt

Новичок
на вскидку вижу у тебя 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:

упс :) не успел :)
 

sakon

П..и.н..ок
rooot
Блин....
Что у тебя показывает
echo $msquery;
И иди читать ссылку которую тебе дал SiMM
 

rooot

Новичок
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
 

adebt

Новичок
rooot, нихрена я у тебя понять не могу.... либо ты очень невнимателен, либо тебе действительно стоит пойти почитать литературу...

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

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

rooot

Новичок
нашел я ошибку

-~{}~ 12.05.05 17:42:

adebt
да да s пропустил , уже заметил
 

rooot

Новичок
<?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 "Отказано в доступе";
}

?>
прикол, вроде все чисто, опять отказ )
 

SiMM

Новичок
За это время давно уже можно было прочесть хотя бы мануал по [m]mssql_query[/m] (например, взглянуть на пример от 30-Apr-2003 05:16), если уж не знаешь, как данные из базы доставать.
 

rooot

Новичок
Все всем спасибо все заработало ))
<?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 "Отказано в доступе";
}
?>
 
Сверху