Вызов переменной php на странице обработки AJAX - PullRequest
0 голосов
/ 26 декабря 2011

Когда пользователь входит в систему, я сохраняю почту в $ email (я также пробовал глобальную $ email). Затем у меня есть форма, где они вводят имя своего соседа по комнате, чтобы искать уже запланированные встречи.

AJAX

$("#reserveAPickupAppointmentForm3").submit (function() {
    roommate = $("#roommate").val();
    $.post('roommateSearch.php', 'val=' + roommate, function (response) {
    $("#roommateResults").html(response);
    });
return false;
});

На roommateSearch.php, если встреча найдена, вы можете нажать на нее, чтобы назначить встречу для себя одновременно. Затем я беру эту информацию и отправляю ее на другую страницу обработки по адресу postAppointment.php, чтобы вставить ее в базу данных.

        $(".confirmAppointment").click (function() {
            $(".confirmAppointment").unbind("click");
            var location = $(".reserveAPickupAppointmentLocation", entry).text();
            var subLocation = $(".reserveAPickupAppointmentSubLocation", entry).text();
            var startTime = $(".reserveAPickupAppointmentStartTime", entry).text();
            var endTime = $(".reserveAPickupAppointmentEndTime", entry).text();
            var date = $(".reserveAPickupAppointmentDate", entry).text();

            alert (location + subLocation + startTime + endTime + date);

            $.post("postAppointment.php", "location=" + location + "subLocation=" + subLocation + "startTime=" + startTime + "endTime=" + endTime + "date=" + date, function (response) {
                alert (response);
            });
        });

Однако, чтобы правильно создать встречу, мне нужно повторно захватить электронную почту пользователя и добавить ее в оператор SQL. Но когда я звоню $ email на postAppointment.php, ничего не появляется. Как бы я это сделал?

Я заиграл с идеей включить его в исходную форму в виде скрытого текстового поля ввода с $ email в качестве значения, а затем передать эту информацию вместе с остальной частью, но, несомненно, есть более простой способ ... Я ' Я надеюсь, что есть способ получить postAppointment.php для распознавания $ email.

Ответы [ 3 ]

1 голос
/ 26 декабря 2011

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

Проверьте, добавили ли вы "php session_start()" на страницу, где вы просматриваете переменную сеанса.

1 голос
/ 26 декабря 2011

Является ли $ email объявленным в том же сценарии ??

Иначе, вы можете использовать переменную сеанса , запустить сеанс и сохранить переменную в сеансе,

session_start();
$_SESSION['email']=$email;

если это реальная система, то знайте, что сеанс не всегда безопасен, есть много проблем, таких как фиксация сеанса, перехват сеанса, поэтому примите меры безопасности с сеансом

Также вы также можете использовать Cookies , когда пользователь входит в систему, установите cookie

setCookie("email",$email);

, затем получите Cookie, $getEmail=$_COOKIE['email']

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