Переход после просмотра сайта в сёрфинге

gmail

Участник
Для проекта нужен сёрфинг, я взял исходники того, что с тарифами (хотя по сути это не имеет ни какого смысла - с тарифом или без, ниже объясню). Я конечно не программист какого-то уровня, но взялся собирать его самостоятельно (смотрел исходники и писал этот модуль). И всё бы замечательно, работает и страница с ссылками, работает переход ( и даже оплата и все функции) на просмотр сайта, капча, НО не работает переход на сам сайт по завершению просмотра. Копировал, вставлял.. ни чего не помогает. Брал исходники других проектов, сверял, пробовал - увы. Ответ приходит в таком виде: OK;2.40;https://site.ru
в файле surfing.php (файл для просмотра):
js
JavaScript:
////////////////////////////////////////////////////////////
function getXMLHTTP() {
    var xmlhtmp = null;
    if(window.XMLHttpRequest) {
        xmlhtmp = new XMLHttpRequest();
        } else if(window.ActiveXObject) {
        xmlhtmp = new ActiveXObject("Microsoft.XMLHTTP");
    }
    return xmlhtmp;
}
////////////////////////////////////////////////////////////
var cptfix = 0;
var cptcode = 0;
var focus = 0;
var focuscheck = "<?php echo $oZTVgwud; ?>";
var time = "<?php echo $vunAOLWf; ?>";
var TTimer;
////////////////////////////////////////////////////////////
function timerStep() {
    if(time < 0) {
        time = 0;
        cptfix = 1;
        checkClick();
        return;
    }
    else
    {
        if(document.getElementById("timer")!= null) {
            time--;
            document.getElementById("timer").innerHTML = time;
            if(time == 0) {
                clearTimeout(TTimer);
                cptfix = 1;
                getCaptcha();
            }
            else
            {
                TTimer=setTimeout(timerStep, 1000);
            }
        }
    }
}
////////////////////////////////////////////////////////////
function hasIsFocus() {
    if(cptfix == 0) {
        if(document.hasFocus()) {
            if(focus == 0) {
                //console.log("ass");
                document.getElementById("check").innerHTML = 'Дождитесь окончания таймера:<div class="timer notranslate" id="timer">'+time+'</div>';
                timerStart();
                focus = 1;
            }
        }
        else
        {
            if(focus == 1) {
                clearTimeout(TTimer);
                document.getElementById("check").innerHTML = '<span style="color:#9e0707;">Окно не активно! Не уходите с вкладки!</span>';
                focus = 0;
            }
        }
    }
}
////////////////////////////////////////////////////////////
function getRandomInt(min, max) {
    return Math.floor(Math.random() * (max - min + 1)) + min;
}
////////////////////////////////////////////////////////////
function getCaptcha() {
    document.getElementById('check').style.display = 'none';
    nextstep(0, cnt);
}
////////////////////////////////////////////////////////////
function checkFocus() {
    setInterval(hasIsFocus, 100);
}
////////////////////////////////////////////////////////////
function timerStart() {
    clearTimeout(TTimer);
    TTimer=setTimeout(timerStep, 1000);
}
////////////////////////////////////////////////////////////
function checkClick() {
    var xmlh = getXMLHTTP();
    xmlh.onreadystatechange = function() {
        if(xmlh.readyState == 4 && xmlh.status == 200) {
            if(xmlh.responseText != 'time_error' && xmlh.responseText != 'create_error' && xmlh.responseText != 'captcha_error') {
                window.location.href = '';
            }
            else if(xmlh.responseText == 'captcha_error') {
                getCaptcha();
            }
            else
            {
                document.getElementById("check").innerHTML ='Просмотр не засчитан! Повторите позже';
            }
        }
    };
    //xmlh.open("GET", "", true);
    //xmlh.setRequestHeader("Content-Type", "text/xml")
    //xmlh.send(null);
    document.getElementById("check").innerHTML='Загрузка сайта...';
}
////////////////////////////////////////////////////////////
setTimeout(function() {
    timerStart();
    if (focuscheck == 1) {
        checkFocus();
    }
    document.getElementById('blockwait').style.display = 'none';
}, 2000);
////////////////////////////////////////////////////////////
а js этот подключается
JavaScript:
function getHTTPRequest()
{
    var req = false;
    try {
        req = new XMLHttpRequest();
        } catch(err) {
        try {
            req = new ActiveXObject("MsXML2.XMLHTTP");
            } catch(err) {
            try {
                req = new ActiveXObject("Microsoft.XMLHTTP");
                } catch(err) {
                req = false;
            }
        }
    }
    return req;
}
function vernum(vnum) {
    nextstep(vnum, cnt);
    return false;
}
function nextstep(num, cnt)
{
    var myReq = getHTTPRequest();
    var params = "num="+num+"&cnt="+cnt;
    
    function setstate()
    {
        if ((myReq.readyState == 4)&&(myReq.status == 200)) {
            var resvalue = myReq.responseText;
            
            if (resvalue != '') {
                if (resvalue.substr(0, 2) == 'OK') {
                    vars = resvalue.split(";");
                    //console.log("->"+vars+"->"+vars[2]);
                    document.getElementById("blockverify").innerHTML = '<div class="blocksuccess">Спасибо за посещение!<br /><span>Плата за просмотр ('+vars[1]+' Монет.) зачислена</span></div>';
                    if ((vars[2] != '0')&&(vars[2].length > 1)) {
                        setTimeout("top.location = '"+vars[2]+"'", 500);
                    }
                } else
                if (resvalue == '0')
                //alert(resvalue);
                document.getElementById("blockverify").innerHTML = '<div class="blockerror">Действие не произведено</div>';
                else
                document.getElementById("blockverify").innerHTML = resvalue;
            }
            
            } else {
            document.getElementById("blockverify").innerHTML = "<span class='loading' title='Подождите пожалуйста...'></span>";
        }
    }
    myReq.open("POST", "/ajax.php?action=stepserf", true);
    myReq.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    myReq.setRequestHeader("Content-lenght", params.length);
    //myReq.setRequestHeader("Connection", "close");
    myReq.onreadystatechange = setstate;
    myReq.send(params);
    return false;
}
Что я мог упустить ? Возможно проблема в js ?
 

normalno

Местный
Вроде в модуле всё работает, зачем из лайна лепить снежку?
us-stepserf.php посмотри здесь всё правильно ли, так же при создании ссылки посмотри заносится ли посл. переход на сайт или нет
 

takebet

Местный
Есть такая проблема со скриптами букса типа mibux нужно просто найти похожий модуль серфинга и сравнить
 

pligin

Команда форума
Администратор
Для проекта нужен сёрфинг, я взял исходники того, что с тарифами (хотя по сути это не имеет ни какого смысла - с тарифом или без, ниже объясню). Я конечно не программист какого-то уровня, но взялся собирать его самостоятельно (смотрел исходники и писал этот модуль). И всё бы замечательно, работает и страница с ссылками, работает переход ( и даже оплата и все функции) на просмотр сайта, капча, НО не работает переход на сам сайт по завершению просмотра. Копировал, вставлял.. ни чего не помогает. Брал исходники других проектов, сверял, пробовал - увы. Ответ приходит в таком виде: OK;2.40;https://site.ru
в файле surfing.php (файл для просмотра):
js
JavaScript:
////////////////////////////////////////////////////////////
function getXMLHTTP() {
    var xmlhtmp = null;
    if(window.XMLHttpRequest) {
        xmlhtmp = new XMLHttpRequest();
        } else if(window.ActiveXObject) {
        xmlhtmp = new ActiveXObject("Microsoft.XMLHTTP");
    }
    return xmlhtmp;
}
////////////////////////////////////////////////////////////
var cptfix = 0;
var cptcode = 0;
var focus = 0;
var focuscheck = "<?php echo $oZTVgwud; ?>";
var time = "<?php echo $vunAOLWf; ?>";
var TTimer;
////////////////////////////////////////////////////////////
function timerStep() {
    if(time < 0) {
        time = 0;
        cptfix = 1;
        checkClick();
        return;
    }
    else
    {
        if(document.getElementById("timer")!= null) {
            time--;
            document.getElementById("timer").innerHTML = time;
            if(time == 0) {
                clearTimeout(TTimer);
                cptfix = 1;
                getCaptcha();
            }
            else
            {
                TTimer=setTimeout(timerStep, 1000);
            }
        }
    }
}
////////////////////////////////////////////////////////////
function hasIsFocus() {
    if(cptfix == 0) {
        if(document.hasFocus()) {
            if(focus == 0) {
                //console.log("ass");
                document.getElementById("check").innerHTML = 'Дождитесь окончания таймера:<div class="timer notranslate" id="timer">'+time+'</div>';
                timerStart();
                focus = 1;
            }
        }
        else
        {
            if(focus == 1) {
                clearTimeout(TTimer);
                document.getElementById("check").innerHTML = '<span style="color:#9e0707;">Окно не активно! Не уходите с вкладки!</span>';
                focus = 0;
            }
        }
    }
}
////////////////////////////////////////////////////////////
function getRandomInt(min, max) {
    return Math.floor(Math.random() * (max - min + 1)) + min;
}
////////////////////////////////////////////////////////////
function getCaptcha() {
    document.getElementById('check').style.display = 'none';
    nextstep(0, cnt);
}
////////////////////////////////////////////////////////////
function checkFocus() {
    setInterval(hasIsFocus, 100);
}
////////////////////////////////////////////////////////////
function timerStart() {
    clearTimeout(TTimer);
    TTimer=setTimeout(timerStep, 1000);
}
////////////////////////////////////////////////////////////
function checkClick() {
    var xmlh = getXMLHTTP();
    xmlh.onreadystatechange = function() {
        if(xmlh.readyState == 4 && xmlh.status == 200) {
            if(xmlh.responseText != 'time_error' && xmlh.responseText != 'create_error' && xmlh.responseText != 'captcha_error') {
                window.location.href = '';
            }
            else if(xmlh.responseText == 'captcha_error') {
                getCaptcha();
            }
            else
            {
                document.getElementById("check").innerHTML ='Просмотр не засчитан! Повторите позже';
            }
        }
    };
    //xmlh.open("GET", "", true);
    //xmlh.setRequestHeader("Content-Type", "text/xml")
    //xmlh.send(null);
    document.getElementById("check").innerHTML='Загрузка сайта...';
}
////////////////////////////////////////////////////////////
setTimeout(function() {
    timerStart();
    if (focuscheck == 1) {
        checkFocus();
    }
    document.getElementById('blockwait').style.display = 'none';
}, 2000);
////////////////////////////////////////////////////////////
а js этот подключается
JavaScript:
function getHTTPRequest()
{
    var req = false;
    try {
        req = new XMLHttpRequest();
        } catch(err) {
        try {
            req = new ActiveXObject("MsXML2.XMLHTTP");
            } catch(err) {
            try {
                req = new ActiveXObject("Microsoft.XMLHTTP");
                } catch(err) {
                req = false;
            }
        }
    }
    return req;
}
function vernum(vnum) {
    nextstep(vnum, cnt);
    return false;
}
function nextstep(num, cnt)
{
    var myReq = getHTTPRequest();
    var params = "num="+num+"&cnt="+cnt;
   
    function setstate()
    {
        if ((myReq.readyState == 4)&&(myReq.status == 200)) {
            var resvalue = myReq.responseText;
           
            if (resvalue != '') {
                if (resvalue.substr(0, 2) == 'OK') {
                    vars = resvalue.split(";");
                    //console.log("->"+vars+"->"+vars[2]);
                    document.getElementById("blockverify").innerHTML = '<div class="blocksuccess">Спасибо за посещение!<br /><span>Плата за просмотр ('+vars[1]+' Монет.) зачислена</span></div>';
                    if ((vars[2] != '0')&&(vars[2].length > 1)) {
                        setTimeout("top.location = '"+vars[2]+"'", 500);
                    }
                } else
                if (resvalue == '0')
                //alert(resvalue);
                document.getElementById("blockverify").innerHTML = '<div class="blockerror">Действие не произведено</div>';
                else
                document.getElementById("blockverify").innerHTML = resvalue;
            }
           
            } else {
            document.getElementById("blockverify").innerHTML = "<span class='loading' title='Подождите пожалуйста...'></span>";
        }
    }
    myReq.open("POST", "/ajax.php?action=stepserf", true);
    myReq.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    myReq.setRequestHeader("Content-lenght", params.length);
    //myReq.setRequestHeader("Connection", "close");
    myReq.onreadystatechange = setstate;
    myReq.send(params);
    return false;
}
Что я мог упустить ? Возможно проблема в js ?
us-stepserf.php посмотри здесь всё правильно ли, так же при создании ссылки посмотри заносится ли посл. переход на сайт или нет
совершенно верно
в этом файле есть
PHP:
$move = ($result['go_site'] == 1) ? $result['url'] : 0;
и отдается в js ответ
PHP:
exit('OK;'.$pay_user.';'.$move.'');
document.getElementById("blockverify").innerHTML = '<div class="blocksuccess">Спасибо за посещение!<br /><span>Плата за просмотр ('+vars[1]+' Монет.) зачислена</span></div>'; if ((vars[2] != '0')&&(vars[2].length > 1)) { setTimeout("top.location = '"+vars[2]+"'", 500); }
а это отправляет тебя на сайт
 
Верх