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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Динамически получить страницу 
:(
    Опции темы
kapusta
Дата 11.3.2006, 11:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Задача такая. Пользователь открывает мою страничку.
Надо отправить запрос некоторому скрипту, находящемуся на другом сервере. Тот скрипт просто проверяет, установлены ли на компьютере пользователя кукисы того самого другого серва. Если все ок и кукисы стоят, то URL принимает вид http://server/?validated=1 , или =0 в противном случае.
Как все это произвести? Как от юзера открыть ту страничку, далее пропарсить полученный URL и получить результат проверки?
PM MAIL   Вверх
Ciber SLasH
Дата 11.3.2006, 19:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1813
Регистрация: 9.11.2004
Где: С.-Петербург

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



А каким образом твой вопрос относится к JS ?
Тебе нужно в разделы серверных ЯП.
PM   Вверх
kapusta
Дата 11.3.2006, 21:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Не уверен, что серверных. Проблема в чем. Загружается веб-страница и только она может получить доступ к свои кукисам. Если я через серверный какой-либо ЯП загружу ту страницу, то она ведь никак не сможет добраться до кукисов юзера. А именно это она и должна сделать и на основании их данных выдать некоторый результат, который дальше нужно отобразить на моей странице.
PM MAIL   Вверх
12345c
Дата 12.3.2006, 04:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Круглый
****


Профиль
Группа: Vingrad developer
Сообщений: 2018
Регистрация: 26.12.2005
Где: наша не пропадала ?

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



Куки отправляются с любым запросом к другому серверу. Без использования JS. Он должен принять (session)_id пользователя и ждать, не придёт ли запрос от первого сервера. Первый шлёт запрос, второй выдаёт результат проверки наличия.

Т.е., в странице должен стоять фрейм с запросом пустой страницы на 2-й сервер и ещё фрейм или XMLHttprequuest с опросом.

Далее, вижу, идёт простой вопрос, поэтому Вам нужен готовый пример. Кто-нибудь его напишет, а общими словами отвечать не буду.
PM WWW   Вверх
kapusta
Дата 12.3.2006, 19:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Вопрос вполне очевиден. Очень хотелось бы увидеть хоть какой пример иллюстрирующий сказанное. smile
PM MAIL   Вверх
Ciber SLasH
Дата 14.3.2006, 12:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1813
Регистрация: 9.11.2004
Где: С.-Петербург

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



Если я правильно понял, то ты хотел что-то такое:
index.php:
Код

<?php
setcookie("local_cookie", "test", time()+10);
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content='text/html; charset=windows-1251'>
<meta name="Generator" content='EditPlus 2.21.330'>
<meta name="Author" content='Ciber SLasH'>
<title>PHP+JavaScript :: Отправка локальных данных [XmlHttpRequest]</title>
<script type='text/javascript'>
/**
* Отправка запроса
*
* @param1 string url — куда будем отсылать запрос
* @param2 array aData — массив передаваемых данных
**/
function sendQuery(url, aData) {
var is_IE = false;
var XmlHttp;
    /** Обработка ответа **/
    function parseRequest() {
        if (XmlHttp.readyState == 4) {
            if (XmlHttp.status == 200) {
                if (parseInt(XmlHttp.responseText) == 1) {
                    location += "?valid=1";
                } else {
                    location += "?valid=0";
                }
            }
        }
    }
    ////////////////////////////////////////////////////////////////////////////
    ////////////////////////////////////////////////////////////////////////////
    if (window.XMLHttpRequest) {        // Mozilla
        try {
            XmlHttp = new XMLHttpRequest();
        } catch (e) {
            XmlHttp = false;
        }
    } else if (window.ActiveXObject) {    // IE
        try {
            XmlHttp = new ActiveXObject("Msxml2.XMLHTTP.4.0");
        } catch (e) {
            try {
                XmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
            } catch (e) {
                try {
                    XmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
                } catch (e) {
                    XmlHttp = false;
                }
            }
        }
        is_IE = true;
    }
    if (XmlHttp) {
        if (is_IE) XmlHttp.onreadystatechange = parseRequest;
        else XmlHttp.onload = parseRequest;
        XmlHttp.open('POST', url, true);
        if (aData) {
            var query = "";
            for (var i = 0; i < aData.length; i++) {
                query += "data[]="+aData[i]+"&";
            }
            query = query.substr(0, query.length-1);
            XmlHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
            XmlHttp.send(query);
        } else XmlHttp.send(null);
        return true;
    } else return false;
}
</script>
</head>

<body>
<script type='text/javascript'>
if (location.search.indexOf("?valid=") == -1) {
    sendQuery("http://localhost/test.php", [document.cookie]);
}
</script>
</body>
</html>

test.php:
Код

<?php
$fp = fopen('./logs.htm', 'w');
$content = '<pre>'.print_r($_POST, true).'</pre>';
fwrite($fp, $content);
fclose($fp);
$data = $_POST['data'];
if (!empty($data[0]) && strpos($data[0], "local_cookie") !== false) {
    echo 1;
} else {
    echo 0;
}
?>

PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




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


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

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