Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 03.05.2014
Сообщений: 22
1

Изменение переменных сессии php средствами javascript (ajax)

17.09.2014, 19:45. Показов 1917. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
В общем в определенных ситуациях мне необходимо или устанавливать переменную сессии или ее обнулять в "". Так вот, почему-то переменные не устанавливаются, хотя если отсылать переменные не через ajax , а на прямую, то все чудесным образом устанавливается. Может в самом javascript есть какие-то ограничения по этому поводу? Вот примеры кода:
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
function getSessionVariable(variable){
    if(typeof variable=="string"){
        var xhttpSession = new XMLHttpRequest();
        xhttpSession.open('POST','session.php',false);
        xhttpSession.onreadystatechange= function(){
            if(xhttpSession.readyState==4 && xhttpSession.status==200){
                return xhttpSession.responseText;
            }
        }
        xhttpSession.setRequestHeader('Content-type','application/x-www-form-urlencoded');
        xhttpSession.send("sessionValue="+variable+"&command=get");
    }
Джаваскрипт код сверху получает нормальный результат, что показывает отладчик, но почему-то переменные которым присваивается например function getSessionVariable('userName') равны undefined (при том что отладчик показывает например "return = 'Vlad' ")

session.php
PHP
1
2
3
4
5
6
7
if(isset($_REQUEST['command']) && $_REQUEST['command']=='get' && isset($_REQUEST['sessionValue'])){
 
    $value = $_REQUEST['sessionValue'];
    $res = $_SESSION[$value];
    echo ($res);
 
}
То же самое с обнулением значений:
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
function logInCheck(){
    var userName = getSessionVariable('userName');
    if(document.getElementById('name').value!= userName && userName!=undefined){
        //Удаляем предыдущий аккаунт из сессии и списка юзеров по тегам
        if(getCookie('logined')=="true"){
            var xhttpSession = new XMLHttpRequest();
            xhttpSession.open('POST','session.php',true);
            xhttpSession.onreadystatechange = function(){
                if(xhttpSession.readyState==4 && xhttpSession.status==200){
                    xhttpSession.abort();
                }
            }
            xhttpSession.send("command=end")}
        }
.............
PHP
1
2
3
4
5
6
7
8
9
10
11
if(isset($_REQUEST['command']) && $_REQUEST['command']=="end" && isset($_REQUEST['userName'])){
   $userName =  $_REQUEST['userName'];
    echo ($userName);
    $result = mysql_query('SELECT user_id FROM users WHERE userName="{$userName}"');
    $row = mysql_fetch_array($result);
    $user_id =$row['user_id'];
    echo($user_id);
    mysql_query("DELETE FROM userlist WHERE user_id= '{$user_id}'");
    $_SESSION['userName']="";
    $_COOKIE['logined']="";
}
session_start(); как и положено находится в начале файла

Заранее благодарен за возможную помощь.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.09.2014, 19:45
Ответы с готовыми решениями:

Из php в JavaScript несколько переменных (Ajax)
Вообщем есть функция которая отправляет в php несколько переменных. $.post('RegScript.php', {...

Сессии PHP и AJAX
Как мне сделать, что бы сессия регистрировалась при использовании ajax? Каждый раз при обновлении...

AJAX, PHP, старт сессии
Доброго времени суток. Есть скрипт на PHP, который стартует новую сессию(РАБОТАЕТ). Появилась...

PHP как ajax обработчик не видит данные сессии
При посылке Ajax запроса, PHP-обрабтчик показывает, что данные из сессии с информацией о...

0
17.09.2014, 19:45
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.09.2014, 19:45
Помогаю со студенческими работами здесь

Как из index.php достать до переменной сессии ajax запросом?
Доброго дня. Проблема такая: имеется файл index.php, из него делается ajax запрос к файлу ajax.php...

Формирование ответа на AJAX запрос средствами PHP
Здравствуйте, уважаемые форумчане. Не раз находил здесь ответы на свои вопрос, и надеюсь что найду...

считать PHP массив $_REQUEST средствами javascript
Здраствуйте, собственно весь вопрос в теме. PHP возвращает не GET и не POST ответ а массив REQUEST,...

Узнать средствами php, включен ли javascript у пользователя
Привет всем. У меня вопрос как можно узнать, средствами php, включен у пользователя браузер или...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru