Здесь ниже всем зарегистрированным пользователям разрешено просматривать все публикации всех категорий выводимых на эту страницу. А как сделать так чтобы с 1-й по 4-ю категорию (cat) можно было всем смотреть, а с 5-й по 10-ю только зарегистрированным??? Подскажите ПОЖАЛУЙСТА!!!
<?php
session_start();
include ("bd.php");
if (isset($_COOKIE['auto']) and isset($_COOKIE['login']) and isset($_COOKIE['password']))
{//если есть необходимые переменные
if ($_COOKIE['auto'] == 'yes') {
$_SESSION['password']=strrev(md5($_COOKIE['password']));
$_SESSION['login']=$_COOKIE['login'];//сессия с логином
$_SESSION['id']=$_COOKIE['id'];//идентификатор пользователя
}
}
if (!empty($_SESSION['login']) and !empty($_SESSION['password']))
{
//если существет логин и пароль в сессиях, то проверяем их и извлекаем аватар
$login = $_SESSION['login'];
$password = $_SESSION['password'];
$result = mysql_query("SELECT id,avatar FROM users WHERE login='$login' AND password='$password' AND activation='1'",$db);
$myrow = mysql_fetch_array($result);
//извлекаем нужные данные о пользователе
}
if (isset($_GET['id'])) {$id = $_GET['id']; }
if (!isset($id)) {$id = 1;}
/* Проверяем, является ли переменная числом */
if (!preg_match("|^[\d]+$|", $id)) {
exit ("<p>Неверный формат запроса! Проверьте URL!");
}
$result99 = mysql_query("SELECT * FROM data WHERE id='$id'",$db);
//проверяем авторизирован ли пользователь и если да то показываем публикацию
$result_secret = mysql_query("SELECT * FROM users WHERE login='$login' AND password='$password' AND activation='1'",$db);
$myrow_secret = mysql_fetch_array($result_secret);
if (empty($myrow_secret['id']))
{
printf ("Эта публикация доступна только зарегистрированным пользователям!");
}
else
{
printf ("<p class='post_title2'>%s</p><p class='post_text'>%s</p><p class='post_adds'>Автор: %s</p><p class='post_adds'>Дата: %s</p><p class='post_view'>Просмотров: %s</p>",$myrow99["title"],$myrow99["text"],$myrow99["author"],$myrow99["date"],$myrow99["view"]);
}
?>
1. SergAntDnepr - 26 Января, 2011 - 18:54:45 - перейти к сообщению
2. annihilus - 26 Января, 2011 - 19:54:12 - перейти к сообщению
жесть
3. SergAntDnepr - 26 Января, 2011 - 19:58:24 - перейти к сообщению
Простите, я новичёк в php. annihilus, почему жесть?
4. annihilus - 26 Января, 2011 - 20:16:45 - перейти к сообщению
SergAntDnepr пишет:
почему жесть?
слишком много букв
добавьте значения к категориям , например к категории 1-4 значение 1 , на остальные 2.
потом если пользователь зарегистрирован показывайте все категории , а если нет то только те у которых значение 1...
5. SergAntDnepr - 26 Января, 2011 - 20:26:54 - перейти к сообщению
Annihilus, а куда и что надо добавить? Ещё раз прошу прощения в php только вникаю, код читаю, понимаю, а писать пока не могу. Очень прошу помогите. Уже и так пробовал и наперекосяк.
6. DiosPA - 26 Января, 2011 - 21:01:53 - перейти к сообщению
вобще логика доступа простая допустим есть 3 странички
1 - доступ всем
2 - только зарегистрированным
3 - только группе зарегистрированных
----------
делаем так в 1 странице всё просто открыто и нормально
2 проверяем сесси и куки если есть то ОК если нет то направляем на регенерацию
3 посложнее но логика тоже очень простая проверяем сесси и куки всё как во втором случае если всё окей лезим в БД или кудаугодно смотрим есть ли у пользователя разрешение к просмотру если есть то открываем
----------
доступ типа такого
login = afla
pass = ***
dostup = 1
-----------
проверяем обычным IFом мол если доступ = 1 то всё ок если не равно тогда пишем доступ закрыт сорри
надеюсь всё понятно
1 - доступ всем
2 - только зарегистрированным
3 - только группе зарегистрированных
----------
делаем так в 1 странице всё просто открыто и нормально
2 проверяем сесси и куки если есть то ОК если нет то направляем на регенерацию
3 посложнее но логика тоже очень простая проверяем сесси и куки всё как во втором случае если всё окей лезим в БД или кудаугодно смотрим есть ли у пользователя разрешение к просмотру если есть то открываем
----------
доступ типа такого
login = afla
pass = ***
dostup = 1
-----------
проверяем обычным IFом мол если доступ = 1 то всё ок если не равно тогда пишем доступ закрыт сорри
надеюсь всё понятно
7. SergAntDnepr - 26 Января, 2011 - 21:07:54 - перейти к сообщению
Попробую. В любом случае спасибо.
8. DiosPA - 26 Января, 2011 - 21:16:42 - перейти к сообщению
это просто на самом деле просто главное смотреть доступ можно по разному можно каждому пользователю давать свой доступ или в "доступе" указывать пользователей которые могут смотреть страничку
иногда все два способа нужны это для более сложных проектов
вот например как в соц сетях...
если что пиши в icq разберёмся ;)
иногда все два способа нужны это для более сложных проектов
вот например как в соц сетях...
если что пиши в icq разберёмся ;)
9. SergAntDnepr - 26 Января, 2011 - 21:25:15 - перейти к сообщению
DiosPA, пожалуйста поясните что такое -направляем на регенерацию-
10. DiosPA - 27 Января, 2011 - 01:33:07 - перейти к сообщению
если пользователь не имее доступа мы перенаплавляем его так
PHP:
скопировать код в буфер обмена
скопировать код в буфер обмена
- echo "<body><HTML><HEAD><META HTTP-EQUIV='Refresh' CONTENT='0; URL=index.php'></HEAD></body>";
вот так
но не забываем после этой надписи поставить exit; или ещё что то чтобы скрипт далее не отобразился на 100%