ПХП+ЯВА... запарился уже.. мозг завис

Тема в разделе "PHP", создана пользователем bikuri, 8 сен 2009.

Статус темы:
Закрыта.
Модераторы: latteo
  1. bikuri

    bikuri Создатель

    Регистр.:
    18 май 2009
    Сообщения:
    36
    Симпатии:
    0
    Всем доброго времени суток!
    Образовалась проблемка, прошу помощи!
    Суть такая:
    Пишу авторегалку доменов, пользуюсь курлом (вроде как подружился), все получилось, за исключением последнего шага... имеем script.php, которому передаються окончательные параметры, НО! в нем имеется яваскрипт (я в яваскрипте еще не силен, только осваиваю понемногу:-]), вот код:

    var frm;
    var reqIC = new Array();
    window.onload = function() {
    var i;
    var table;
    table = '<table border="0" cellspacing="5" cellpadding="0" align="center" width="800">';
    for (i = 0; i < domains; i++) {
    table += '<tr><td>'+d2+'</td><td width="300"><span id="as'+i+'"><img src="/images/process.gif" width="16" height="16" alt="Идет регистрация...">&nbsp;Идет регистрация...</span></td></tr>';
    }
    table +='</table>';
    document.getElementById('ans').innerHTML = table;
    setQueryString();
    }
    function Initialize() {
    try {
    reqIC.push(new ActiveXObject("Msxml2.XMLHTTP"));
    }
    catch(e) {
    try {
    reqIC.push(new ActiveXObject("Microsoft.XMLHTTP"));
    }
    catch(oc) {
    reqIC.push(null);
    }
    }
    if (reqIC[reqIC.length - 1] == null && typeof XMLHttpRequest != "undefined") {
    reqIC[reqIC.length - 1] = new XMLHttpRequest();
    }
    return reqIC.length - 1;
    }
    function SendQuery(r) {
    var url = "reg.php";
    if (reqIC[r] != null) {
    eval("function ProcessIC_"+r+"(){if (reqIC["+r+"].readyState == 4){if(reqIC["+r+"].status == 200){var doc = reqIC["+r+"].responseText;document.getElementById('as"+r+"').innerHTML='<img src=/images/spacer.gif width=16 height=16>'+doc;}}}");
    eval("reqIC[r].onreadystatechange = ProcessIC_"+r+";");
    reqIC[r].open("POST", url, true);
    reqIC[r].setRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=windows-1251");
    reqIC[r].send(queryString);
    }
    }
    function setQueryString() {
    queryString="";
    var r;
    for (var w = 0; w < domains; w++) {
    r = Initialize();
    queryString = "w=" + w + "&z=" + z;
    SendQuery(r);
    }
    }

    Продолжим! Результат работы отправляется на /reg.php, к которому я достучаться никак не могу. Есть только догадки, что функция SendQuery() играет ключевую роль (может генерирует страницу reg.php?:eek:). Вобщем снифер показывает, что до ява скрипта достукиваеться, а вот дальше почему-то нет.. Очень прошу помощи, подсказки и т.д.
    ЗЫ: Если туманно описал вопрос - желающим помочь допишу детали в личку.
    Всем заранее благодарен!
     
  2. dkDimon

    dkDimon Писатель

    Регистр.:
    20 сен 2007
    Сообщения:
    3
    Симпатии:
    0
    Не видно кода, почему он виден только при 20 сообщениях?
    Помочь никак, а хотелось ;)
     
  3. t0wer

    t0wer BlackHerald

    Регистр.:
    24 июн 2008
    Сообщения:
    735
    Симпатии:
    423
    все расписал подробно что да как:
    Код:
    var frm;
    var reqIC = new Array();
    
    // обработчик onload
    window.onload = function()
    	{
    	var i;
    	var table;
    
    	// рисуем )))
    	table = '<table border="0" cellspacing="5" cellpadding="0" align="center" width="800">';
    
    	for (i = 0; i < domains; i++)
    		{
    		table += '<tr><td>'+d2[i]+'</td><td width="300"><span id="as'+i+'"><img src="/images/process.gif" width="16" height="16" alt="Идет регистрация...">&nbsp;Идет регистрация...</span></td></tr>';
    		}
    	table +='</table>';
    
    	// присваиваем элементу с id='ans' таблицу (выше)
    	document.getElementById('ans').innerHTML = table;
    	// запускаем function setQueryString()
    	setQueryString();
    	}
    
    // извлекает XML-содержимое и формирует массив, возвращает количество элементов в масиве
    function Initialize()
    	{
    	try
    		{
    		reqIC.push(new ActiveXObject("Msxml2.XMLHTTP"));
    		}
    	catch(e)
    		{
    		try
    			{
    			reqIC.push(new ActiveXObject("Microsoft.XMLHTTP"));
    			}
    		catch(oc)
    			{
    			reqIC.push(null);
    			}
    		}
    
    	if (reqIC[reqIC.length - 1] == null && typeof XMLHttpRequest != "undefined")
    		{
    		reqIC[reqIC.length - 1] = new XMLHttpRequest();
    		}
    
    	return reqIC.length - 1;
    	}
    //
    function SendQuery(r)
    	{
    	var url = "reg.php";
        // если длинна не ноль
    	if (reqIC[r] != null)
    		{
    		// тут запускаем функцию ProcessIC_"+r+"()
    		eval("function ProcessIC_"+r+"(){if (reqIC["+r+"].readyState == 4){if(reqIC["+r+"].status == 200){var doc = reqIC["+r+"].responseText;document.getElementById('as"+r+"').i nnerHTML='<img src=/images/spacer.gif width=16 height=16>'+doc;}}}");
    		eval("reqIC[r].onreadystatechange = ProcessIC_"+r+";");
    		// чтобы отправить открываем с праметром POST и методом send() передаем отсылаемые данные
    		// в reg.php, содержащиеся в строке queryString
    		reqIC[r].open("POST", url, true);
    		reqIC[r].setRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=windows-1251");
    		reqIC[r].send(queryString);
    		}
    	}
    //
    function setQueryString()
    	{
    	// строка с параметрами
    	queryString="";
    	var r;
        // прогоняем по циклу домены
    	for (var w = 0; w < domains; w++)
    		{
    		// присваиваем r функцию Initialize()
    		r = Initialize();
    		// формируем строку с параметрами
    		queryString = "w=" + w + "&z=" + z;
    		// засовываем его в функцию SendQuery()
    		SendQuery(r);
    		}
    	}
    
    Непонятно для чего переменная
    var frm;
    и интересное выполнение функуии
    function ProcessIC_"+r+"(){...}
     
Статус темы:
Закрыта.