ajax и php flag script - установить и проверить cookie и работать с БД - PullRequest
0 голосов
/ 01 июля 2011

Как гласит заголовок, я ищу скрипт флага, объясненный ниже:

Он должен быть похож на любой скрипт с флагом видео сайта: один раз щелкните по маленькому серому флагу, он станет цветным, и вы не сможете щелкнуть его снова. Это должно быть сделано в ajax, так как я не хочу, чтобы мой пользователь перезагружал свою страницу (и вся деятельность возобновлялась) только потому, что он допустил ошибку при пометке элемента на моем сайте.

php не должен добавлять несколько флагов от одного и того же пользователя - хотя было бы неплохо, если бы он проверил наличие cookie, если не установлен -> поле увеличения в MySQL и установил cookie, если установлен -> игнорировать.

Это действительно срочно, так как я абсолютный новичок в ajax и Javascript, и мне нужно, чтобы это было сделано во вторник ...

Причина, по которой я нуждаюсь в этом, заключается в том, что я действительно хочу знать, как это делается, потому что у проекта, который мы изучаем в школе, есть что-то похожее, и моя домашняя работа состоит в том, чтобы придумать решение, которое могло бы достичь того же, не глядя на исходный код Я думал о решении, но у меня нет времени на его реализацию, потому что на этой неделе, как и на следующей, у меня куча экзаменов, и я действительно не хочу пропустить ни одного ...

Заранее спасибо за любую помощь, которую вы мне оказываете!

Ура! * * 1013

1 Ответ

1 голос
/ 01 июля 2011

Сделайте ajaxrequest, и пусть он обрабатывает php, когда он будет готов, вы отправите возврат на свою страницу.

Я сделал вам шаблон.Я думаю, вы можете сделать PHP самостоятельно?

function setFlag(state){
    var ajaxRequest;  // The variable that makes Ajax possible!
    //Set AjaxRequest for all Major browsers, nothing to do here, this is standard
    try{
        // Opera 8.0+, Firefox, Safari
        ajaxRequest = new XMLHttpRequest();
    } catch (e){
        // Internet Explorer Browsers
        try{
            ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
            try{
                ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e){
                // Something went wrong
                alert("Your browser is lame!");
                return false;
            }
        }
    }
    // When the Ajax Request waits for php you get some status codes, everything is done when it reaches 4. Add your javascript events etc here...
    ajaxRequest.onreadystatechange = function(){
        if(ajaxRequest.readyState < 4){
        //document.getElementById('ajaxCatchbox').innerHTML = "Load...";
        }
        if(ajaxRequest.readyState == 4){
    // Some Javascript to change your flag colour image
    }
    }

    // this is here your php happens without page reload. (In the php file)
    var queryString = "?state=" + state;
    ajaxRequest.open("GET", "ThePhpFileThatDoesYourDatabaseHandling.php" + queryString, true);
    ajaxRequest.send(null);
}

PhP работает с вашей базой данных и устанавливает правильную переменную на 1, чтобы вы знали, какой флаг нажимается.Каждый раз, когда вы обновляете страницу, вы используете эту переменную, чтобы отобразить, какой флаг нажимается.Просто, когда флаг еще не нажат, вы добавите эту функцию, а в Javascript измените ее на лету, потому что в этот момент вы еще не перезагружены.Вы можете захотеть узнать, какой флаг нажимается, но, конечно, вы можете добавить идентификатор нашего номера и т. д. и вы можете отправить его на php, используя строку запроса ...

Gr

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...