Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: перенаправлять один домен на другой

Сообщения:  [1-10]    [11-20]  [21-29] 

 
 автор: ЯСА   (18.03.2012 в 19:01)   письмо автору
 
   для: 1prom   (18.03.2012 в 17:50)
 

Я не знаю, что такое auto_prepend_file
-----

Всякие куки, только что поставленные, тут же можно и прочитать.

Поэтому, для проверки в файле второго домена:
<script>
alert (unescape (window.name)); //куки пришли
if (!window.name) void (1); //юзер, который зашёл впервые - куки ему поставит новый сайт
else if (!document.cookie) {document.cookie = unescape (window.name); alert (unescape (document.cookie))} //куки поставлены, прочитаны и отображены
else void 1(); //здесь решайте сами - что делать, ибо юзер уже на этом адресе бывал 
window.name = '';
</script>


Походу Вы так и оставили моё замечание "здесь решайте сами...".
Надо было именно РЕШАТЬ, а не тупо переписывать.
Это синтаксическая ошибка - из-за этого у вас ничего и не работает.
А глянуть в "Консоль ошибок" браузера вам что не даёт?

  Ответить  
 
 автор: 1prom   (18.03.2012 в 17:50)   письмо автору
 
   для: ЯСА   (18.03.2012 в 10:12)
 

Смотрите, может я не все сказал, но у меня есть auto_prepend_file = "menu.php". В нем я пишу:




$wh_domen=$_SERVER["HTTP_HOST"];
$fc = $_SERVER['PHP_SELF'];

if($wh_domen=="domen1.com"){
?>
<html> 
<head> 
<script> 
window.name = document.cookie;
window.location.href = 'http://domen2.com<?=$fc?>'; 
</script> 
</head> 
</html> 

<?
}




if(
$wh_domen=="domen2.com"){
?>
<script>
if (!window.name) void (1); //юзер, который зашёл впервые - куки ему поставит новый сайт
else if (!document.cookie) document.cookie = unescape (window.name); 
else //здесь решайте сами - что делать, ибо юзер уже на этом адресе бывал 
window.name = '';
</script> 
<?
}

  Ответить  
 
 автор: ЯСА   (18.03.2012 в 10:12)   письмо автору
 
   для: 1prom   (17.03.2012 в 22:38)
 

Странно...

Попробуйте изменить одну строчку в коде второго домена:
if (!document.cookie) document.cookie = unescape (window.name); 

  Ответить  
 
 автор: 1prom   (17.03.2012 в 22:38)   письмо автору
 
   для: ЯСА   (17.03.2012 в 16:02)
 

Алерты оба работают, значит куки передаются.
Но на новом домене почему то не пишутся в броузер
Напр. кука user: пустая (В Опере смотрю куки...)

Также нет авторизации при последующем запросе

$sqlsee = "SELECT * FROM regpeople where mail_admin = \"$user\" and passw = \"$passw\"";

  Ответить  
 
 автор: ЯСА   (17.03.2012 в 16:02)   письмо автору
 
   для: 1prom   (17.03.2012 в 15:46)
 

Можно, конечно.

1. Надо проверить сначала на первом домене, дописав посередине (перед window.location.href = ...) строчку alert (unescape (window.name)) и посмотреть - записались ли в имя окна текущие куки

2. Аналогичную строку надо записать и самой первой на втором домене. Передались ли? (Хотя куда они денутся?)

3. В итоге у вас по-любому должны появиться два окошка алерта с одинаковым содержанием.
Или с одинаковой пустотой - если исходные куки не прочитались.
А не прочитаться они не могли в двух случаях:
а) либо их просто нет;
б) либо они есть, но недоступны индексной странице сайта на первом домене. Потому что ставились эти куки не индексной страницей, а какими-то другими страницами сайта на первом домене (с другими URL*). И вы при установке кук не позаботились выставить параметр path="/", делающий куки доступными любой странице сайта.

4. Разумеется, и вариант б) тоже можно решить... но сначала проверьте два алерта.

Примечание: URL страницы - штука уникальная. Если куки поставлены без параметра path="/" страницей с именем index.html, то и прочитать их сможет только страница с точно таким же именем. А вот уже index.htm или index.php - не смогут.

  Ответить  
 
 автор: 1prom   (17.03.2012 в 15:48)   письмо автору
 
   для: ЯСА   (16.03.2012 в 10:52)
 

пост подвоен, удалите его, модератор

  Ответить  
 
 автор: 1prom   (17.03.2012 в 15:46)   письмо автору
 
   для: ЯСА   (16.03.2012 в 10:52)
 

перенаправление идет, а вот куки не пишет в броузер на втором домене. Пробовал на Опере и Мозилла.
Можно проверить где ошибка?

  Ответить  
 
 автор: Sfinks   (16.03.2012 в 20:06)   письмо автору
 
   для: 1prom   (16.03.2012 в 03:39)
 

Вы поймите, что 2 разных домена - это 2 изолированных области видимости. Между ними черная глухая непрозрачная стена!!! Невозможно находясь на одном домене установить куки для другого или перейти на другой и посмотреть что было на первом. НУ НЕ ВИДНО СКВОЗЬ СТЕНУ!!! Но стену можно как-то перекинуть или еще как-то вывернуться. Перекинуть - это как я написал. Т.е. стандартно передать данные. Но у вас там похоже 100 килограмм кук и перекинуть их не получается. Значит нужно выворачиваться! Например прилепить на потолок над стеной зеркало и в нем посмотреть что же там за стеной. Зеркалом на потолке вам предлагают использовать заголовок окна. Т.е. ставите стремянку и прикручиваете к потолку зеркало. Потом слазиете, открываете дверь и уходите за стену. Там поднимаете голову и смотрите в зеркало. Вот и все. Куки никуда не передаются. Они где были там и есть. Просто их отразили в общедоступную зону.

  Ответить  
 
 автор: ЯСА   (16.03.2012 в 10:52)   письмо автору
 
   для: 1prom   (16.03.2012 в 03:32)
 

1. Как-то я выпустил из виду вариант, что юзер, зашедший на ваш старый адрес (домен1), может быть новичком и кук у него не будет прописано.

2. Исправляю эту свою оплошность.
В коде на индексной странице домена2 надо проверить и этот вариант:
<html>
<head>
<script>
if (!window.name) void (1); //юзер, который зашёл впервые - куки ему поставит новый сайт
else
 if (!document.cookie) document.cookie = window.name;
else //здесь решайте сами - что делать, ибо юзер уже на этом адресе бывал
window.name = '';
</script>
...прочее содержание индексной страницы домена2

  Ответить  
 
 автор: 1prom   (16.03.2012 в 03:39)   письмо автору
 
   для: ЯСА   (16.03.2012 в 01:42)
 

по поводу вариантов перенаправления я немного погорячился (сделал ошибку) так как думал, что есть вариант сначала прописать куки на новом домене, а потом перенаправить, чтобы новый домен читал удачно все куки, страницы отображались бы без изменений :)

  Ответить  

Сообщения:  [1-10]    [11-20]  [21-29] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования