Forum Webscript.Ru

Программирование => PHP => Тема начата: Владимир от 31 Мая 2005, 07:44:33

Название: доступ при авторизации
Отправлено: Владимир от 31 Мая 2005, 07:44:33
Подскажите народ, плиз. Есть скрипт авторизации. Сейчас возникла необходимость сделать в нем проверку допуска и блокировки. Например чтобы скрипт в зависимости от того какое значение стоит в поле access on или off соответственно либо дал войти юзеру под своим логином и паролем в противном случае выдав например сообщение: Доступ к информации Вам отключен.
Вот франмент скрипта:
include("config.php");
if($loged==\'yes\')
{
 echo "You are allready loged!";
 echo "

$lang[logout]";
}
else
{
include("config.php");
$connection = mysql_connect("$server", "$db_user", "$db_pass");
$db = mysql_select_db("$database", $connection);
$query = "SELECT * FROM login where username=\'$username\'";
$result = mysql_query($query, $connection);
$rows = mysql_fetch_array($result);
$pass = $rows[password];
$email = $rows[email];
$name = $rows[fname] ." ". $rows[sname];
if($password==\'\' OR $username==\'\')
{
echo "$lang[useloginform]";
}
elseif($password==$pass)
 {
 
 setcookie("loged","yes",time()+3600);
 setcookie("username","$username",time()+3600);
 setcookie("name","$name",time()+3600);
 setcookie("email","$email",time()+3600);
 echo "$lang[thanksforlogin]";
 echo "


";
 include("loginpage.php");
 }
else
{
echo "$lang[wrongpass]";
}

}
?>

Название: доступ при авторизации
Отправлено: Меняздесьдавнонет от 31 Мая 2005, 10:57:33
то есть, как работает этот скрипт, ты не имеешь представления?
Название: доступ при авторизации
Отправлено: Владимир от 31 Мая 2005, 11:52:57
... странный ответ! Я уже разобрался как сделать пока ждал помощи. Добавил AND access=\'on\' и теперь после рассмотрения информации о пользователе мне достаточно в поле access таблицы поставить on и пользователь авторизуясь сможет попасть на запрошенную страницу.
Название: доступ при авторизации
Отправлено: Меняздесьдавнонет от 31 Мая 2005, 16:49:23
это был не ответ, это был вопрос.
Молодец, что разобрался сам.
Название: доступ при авторизации
Отправлено: Владимир от 03 Июня 2005, 08:27:44
Теперь в данный момент не могу побороть проблемку с тем, что поиск по запросу выдает всех юзеров а не конкретно в соответствии с запросом. Вот сдесь что то не работает... скорей всего запрос:
include("loginbox.php");
include("config.php");
?>



">">





if($loged==\'yes\')
{
?>
if($searchfor)
{
include("config.php");
$connection = mysql_connect("$server", "$db_user", "$db_pass");
$db = mysql_select_db("$database", $connection);
$sql_query = "SELECT * FROM login WHERE (username LIKE \'%$user%\' OR fname LIKE \'%$searchfor%\' OR sname LIKE \'%$searchfor%\' OR email LIKE \'%$searchfor%\' OR country LIKE \'%$searchfor%\' OR city LIKE \'%$searchfor%\' OR interests LIKE \'%$searchfor%\')";
$result = mysql_query($sql_query);
$results = mysql_numrows($result);
if($results==\'0\')
{
echo $lang[nofoundusers];
}
else {
echo "";
echo "";
while ($rows = mysql_fetch_array($result))
{
echo "";
}
echo "
$lang[username]$lang[realname]$lang[location] $lang[action]
$rows[username]$rows[fname] $rows[sname]$rows[city], $rows[country]$lang[interests]$lang[sendmessage] | $lang[addincontactbook]
";
}
}
else
{}
?>
}
else
{
echo $lang[have2login];
}
?>
Название: доступ при авторизации
Отправлено: Меняздесьдавнонет от 03 Июня 2005, 11:02:42
PHP FAQ: Ничего не работает! Что делать??? (http://phpfaq.ru/debug)
Хотя я уверен, тебя такой ответ не устроит =)
Название: доступ при авторизации
Отправлено: Владимир от 03 Июня 2005, 12:01:04
:-(
Название: доступ при авторизации
Отправлено: sarutobi от 03 Июня 2005, 15:46:52
Цитировать

...WHERE (username LIKE \'%$user%\' OR fname LIKE \'%$searchfor%\'

$user из твоего скрипта - пустой.
Название: доступ при авторизации
Отправлено: CGVictor от 03 Июня 2005, 19:41:17
Цитировать
Владимир:
$sql_query = "SELECT * FROM login WHERE (username LIKE \'%$user%\' OR fname LIKE \'%$searchfor%\' OR sname LIKE \'%$searchfor%\' OR email LIKE \'%$searchfor%\' OR country LIKE \'%$searchfor%\' OR city LIKE \'%$searchfor%\' OR interests LIKE \'%$searchfor%\')";

А, к примеру, username=$user писать уже не модно?
Название: доступ при авторизации
Отправлено: Владимир от 06 Июня 2005, 08:27:47
Спасибо за помощь
Сделал вот так и все заработало!

$user=username;
$sql_query = "SELECT * FROM login WHERE (username LIKE \'%$user%\' OR fname LIKE \'%$searchfor%\' OR sname LIKE \'%$searchfor%\' OR email LIKE \'%$searchfor%\' OR country LIKE \'%$searchfor%\' OR city LIKE \'%$searchfor%\' OR interests LIKE \'%$searchfor%\')";

В следующий раз буду внимательней.
Название: доступ при авторизации
Отправлено: CGVictor от 08 Июня 2005, 14:56:56
Владимир
Цитировать
Владимир:
username LIKE \'%$user%\'

Почему %LIKE% а не "=" - можешь сказать?...