Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Ссылка на один сайт или на другой, в зависимости от значения параметра в БД 
V
    Опции темы
Litovast
Дата 17.12.2008, 00:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 16.12.2008

Репутация: нет
Всего: нет



Здравствуйте, уважаемые знатоки!
Увидел много умных ответов в этом замечательном форуме и сразу решил зарегистрироваться, так как больше негде решить мой вопрос.
Я не знал куда написать (в PHP, Mysql или JS), поэтому решил написать сюда. В PHP я новичек, в JS - почти ничего не соображаю.

Есть у меня 2 сайта (один общий, а другой - библиотека) отличие у них в том, что на первый могут попасть все желающие, а вот на второй только пользователи с параметром (в БД) book=1. book=0 выдает сообщение пользователям о том, что "Доступ только по приглашениям.
На первом сайте есть ссылка, которая ведет на второй сайт. Так вот я хочу сделать так, чтобы те пользователи, которые уже имеют book=1 переходили по этой ссылке сразу в библиотеку, а другие (которые еще имеют значение параметра book=0) попадали на главную страницу первого сайта.

У меня такой вопрос: 
Как можно это осуществить?
Пожалуйста, извините, если не туда написал. Очень жду ответа! Заранее всем спасибо.
PM MAIL   Вверх
krundetz
Дата 17.12.2008, 00:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вечный странник
***


Профиль
Группа: Завсегдатай
Сообщений: 1400
Регистрация: 14.6.2007
Где: НН(Сормово)

Репутация: 1
Всего: 69



Litovast, осушествить это можно как средствами, javascript так и средствами php, для обоих случаев у нас должны быть установлины куки, в первом ты вешаешь на ссылку событие javascript которое проверяет что хранится в куках имеет пользователь или не имеет если имеет мы его ридеректим на второй сайт, если не имеет, то на первую страницу первого сайта, В случае использования php мы делаем почти тоже самое только на сторне сервера, при приходе запроса на php скрипт, мы смотрим куки и если, пользователь имеет права доступа пропускаем  его на сайт если не имеет ридеректим его на первый. Второй вариант более быстро реализуемый так как если второй сайт написан на php потребует заменить вывод сообения об том что сайт для этого пользователя не доступен на простой ридерект на тот сайт с которого он пришел.


--------------------
!цензоры - Хранитель стратегической жидкости
Группа ТГВ
Группа Нижний Новгород
user posted image
PM MAIL   Вверх
bars80080
Дата 17.12.2008, 00:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 44
Всего: 315



я так понимаю на втором сайте есть БД с таблицей данных по зарегистрированным пользователям, и чтобы войти на него они набирают логин и пароль? если так, то решается всё просто. при вводе логина и пароля обработчик должен опрделить есть ли этот пользователь в БД и если есть, то какой у него параметр book. если чего-то не совпадает, то:

Код

$sql = 'select * from users where login="'.mysql_real_escape_string($_POST['login']).'" and password="'.mysql_real_escape_string($_POST['password']).'" and book=1';
$q = mysql_query($sql);
$f = false;
if($q) {
    $r = mysql_fetch_array($q);
    if(!empty($r['id']))  { $f = true; }
}

if(!$f) {
    header('Location: http://site1.ru/index.php'); exit;
}

// а здесь всё что нужно для зарегистрированных пользователей

всё это нужно написать до вывода любого хтмл в браузер (т.е. до любого <html> или echo ' '; или просто пробела)


но если у тебя какая-то другая система, то опиши конкретнее


п.с. тему надо было запостить в разделе php:общие вопросы
PM MAIL WWW   Вверх
Litovast
Дата 17.12.2008, 00:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 16.12.2008

Репутация: нет
Всего: нет



Уважаемый,krundetz. Спасибо за ответ. У меня сейчас стоит на втором сайте редирект на первый, после авторизации пользователя с book=0. Я немного не так описал систему доступа на второй сайт. На него тоже может попасть любой, но только гость (только сможет просматривать), а после авторизации, программный код, написанный на PHP, решает куда пользователя отправить
Вот код авторизации:
Код

$q1=mysql_query("SELECT login,fname,email,pass,id,online,onlinetime,books FROM users WHERE `email`='$nick' and `pass`='".md5($pa)."'");
if ($q2=mysql_fetch_array($q1))
{
    if ($q2[books]==1){
$youip=getenv("REMOTE_ADDR");
mysql_query("UPDATE `users` set `ip`='$youip' WHERE id=$q2[id]");
    mysql_query("UPDATE users SET `online`='1',`onlinetime`='".mktime()."' where id='$q2[4]'");
    if ($q2[0]==""){$login=$q2[1];} else {$login=$q2[0];}
setcookie("l",$q2[2], mktime(0,0,0,01,25,2010),$pathvdomene,$domen);
setcookie("pwd",$q2[3], mktime(0,0,0,01,25,2010),$pathvdomene,$domen);
setcookie("nmz",$login, mktime(0,0,0,01,25,2010),$pathvdomene,$domen);
setcookie("personalid",$q2[4], mktime(0,0,0,01,25,2010),$pathvdomene,$domen);
 header("Location: ".$site."".$kuda."");
/*echo'<meta http-equiv="Refresh" content="1; url='.$site.''.$kuda.'" />';
echo"<br><br><br><br><br><br><center><font size='6' face='Trebuchet MS'>Правильно!</font><br>Сейчас вас перекинет на <a href=\"$site\">$domen</a><br><br></center>";*/
    }else
    {
echo'<meta http-equiv="Refresh" content="5; url=http://здесь_имя_сайта.ru" />';
echo"<br><br><br><br><br><br><center><font size='3' face='Trebuchet MS'>Доступ на сайт закрыт. Сейчас страница обновится и появится Инструкция по получению доступа б Библиотеку.<br><br><a href=\"http://http://здесь_имя_сайта.ru\">Прочесть инструкцию</a></font></center>";
    }
}
else {

echo'<meta http-equiv="Refresh" content="1; url='.$site.''.$kuda.'" />';
echo"<br><br><br><br><br><br><center><font size='3' face='Trebuchet MS'>Комбинация email/пароль введена неверно.<br><br><br><a href=\"http://$site\">На сайт</a></font></center>";
}

Мне хотелось бы, чтобы при нажатии на ссылку на первом сайте происходил переход на второй сайт для пользователей book=1 и редирект на сайт первый для пользователей с book=0 (уже авторизированных пользователей).

Не могли бы вы написать пример этого скрипта на PHP? Если конечно Вам не сложно. Я, мало сказать, плохо понимаю в PHP, но стараюсь...очень стараюсь разобраться...У меня, программист исчез месяц назад....вот я и взялся за сайты, написанные на PHP, сам.
Заранее спасибо!

Добавлено @ 00:46
Уважаемый,bars80080. Авторизация на втором сайте осуществляется при помощи подключения к БД первого сайта (на втором сайте БД тоже есть, но регистрационных данных по пользователям нет).

Это сообщение отредактировал(а) Litovast - 17.12.2008, 00:57
PM MAIL   Вверх
krundetz
Дата 17.12.2008, 01:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вечный странник
***


Профиль
Группа: Завсегдатай
Сообщений: 1400
Регистрация: 14.6.2007
Где: НН(Сормово)

Репутация: 1
Всего: 69



Litovast, если я правильно понял то необходимо чтобы при нажатие на ссылку на втором сайте, подозреваю что там лежит каойто файл, его мог скачать только пользователь с флагом book=1, пользователь же с флагом book=0 выбрасывалься обратно на эту же страницу?
Тоесть я правильно вас понял, написать подобный скрипт смогу не раньше выходных, счас могу описать только принцып. Принцип следующий: Выдача любого файла должна производиться через скрипт, тоесть при нажатие на ссылку вызывается скрипт который делает проверку такуюже как при входе на сайт и если проверка прошла удачно, то вместо html страницы выдают пользователю файл хранимый на сервере. Вот собственно весь принцып. В обычной практике такая зашита обединяется со скрытием самой ссыки от пользователей не имеющих прав на скачивание.


--------------------
!цензоры - Хранитель стратегической жидкости
Группа ТГВ
Группа Нижний Новгород
user posted image
PM MAIL   Вверх
Litovast
Дата 17.12.2008, 01:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 16.12.2008

Репутация: нет
Всего: нет



Уважаемый,krundetz. Вы меня немного не так поняли. Доступ к скачиванию книг у меня на сайте сделан как раз как Вы и описали. У меня вопрос в другом:
Как сделать ссылку на сайте №1, чтобы кликая на нее, пользователь со значением 1 в параметре books (books=1) попадал на сайт №2, а пользователь со значением 0 (books=0) попадал на страницу сайта №1

клик на ссылку сайта №1 -> если пользователь с books=1, тогда -> сайт №2
клик на ссылку сайта №1 -> если пользователь с books=0, тогда -> сайт №1

Второй сайт трогать не надо, так как все параметры авторизации находятся на сайте №1, на котором и должна быть ссылка с подобной функцией распределения пользователей.

Это сообщение отредактировал(а) Litovast - 17.12.2008, 01:36
PM MAIL   Вверх
bars80080
Дата 17.12.2008, 01:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 44
Всего: 315



значит ссылка на первом сайте должна вести на скрипт на нём же, скрипт проверки тот же самый, только финал наоборот. location в случае успешного прохождения. но всё равно придётся на втором сайте провериться, так как ссылку могут закэшировать, сохранить, а даже если в ней будет какой временной параметр, то всё равно могут расшифровать. так что лучше устроить ещё одну проверку на втором сайте
PM MAIL WWW   Вверх
krundetz
Дата 17.12.2008, 01:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вечный странник
***


Профиль
Группа: Завсегдатай
Сообщений: 1400
Регистрация: 14.6.2007
Где: НН(Сормово)

Репутация: 1
Всего: 69



Litovast здесь bars80080 без проверки на втором сайте не обойтись иначе ваши ссылки расползуться по интернету и любой желающий сможет загрузить с него файлы без посещения первого


--------------------
!цензоры - Хранитель стратегической жидкости
Группа ТГВ
Группа Нижний Новгород
user posted image
PM MAIL   Вверх
Litovast
Дата 17.12.2008, 02:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 16.12.2008

Репутация: нет
Всего: нет



Да мне нужна только функция делающая переход либо на сайт №2, либо обратно на сайт №1...Если пользователь имеет значение 1 в параметре books, то он попадая на сайт №2 полюбому будет проходить авторизацию (это на сайте все работает) или если он уже туда попадал авторизированным, то нажав на ссылку на первом сайте он попадет на сайт №2 уже авторизированным. Сейчас это работает если просто набрать адрес сайта... У меня только вопрос в функции для ссылки, которая дает возможность распознавать пользователя и отправлять его куда следует (либо на сайт №1, либо на сайт №2)

Код

<? $q1=mysql_query("SELECT login,fname,email,pass,id,online,onlinetime,books FROM users WHERE `email`='$nick' and `pass`='".md5($pa)."'");
if (($avtoriz==true) and $q2=mysql_fetch_array($q1))
{
    if ($q2[books]==1){echo"<p><a href=\"сайт№2\">
Литература</a><SUP style=\"color:#5ea529;font-size:70%;\">&nbsp;$_bks</SUP></p>";}else {echo"<p><a href=\"сайт№1\">
Литература</a><SUP style=\"color:#5ea529;font-size:70%;\">&nbsp;$_bks</SUP></p>";}}?>

Это не работает :(
PM MAIL   Вверх
Litovast
Дата 17.12.2008, 03:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 16.12.2008

Репутация: нет
Всего: нет



Ура я гений smile
Код

$ssilkabooks=mysql_query("SELECT * FROM users WHERE books='1' and email='".addslashes($_COOKIE[l])."' and pass='".addslashes($_COOKIE[pwd])."'");
        if ($q3=mysql_fetch_array($ssilkabooks))
       {$ssilkabooks=true;$tvojnomer=$q3[id]; if ($q3[books]=='1'){$books=true;}else{$books=false;}
           }else{$ssilkabooks=false;}

Код

<td class="c5"><? if ($ssilkabooks==true){echo"<p><a href=\"Сайт№2">
Литература</a><SUP style=\"color:#5ea529;font-size:70%;\">&nbsp;$_bks</SUP></p>";}else {echo"<p><a href=\"Сайт№1\">
Литература</a><SUP style=\"color:#5ea529;font-size:70%;\">&nbsp;$_bks</SUP></p>";}?></td>

Долго высиживал такую элементарную вещь...Все работает как часы.
Никогда на PHP не работал...Спасибо всем кто отвечал на мою мольбу!


Это сообщение отредактировал(а) Litovast - 17.12.2008, 03:12
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0840 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.