2014-12-10 4 views
0

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

$('#send-message-button').click(function() { 
       $.ajax({ 
        type: "POST", 
        url: "composemessage.php", 
        data: { passedusername: "<?php echo $_GET['username']; ?>"}, 
        success: function(msg) { 
         window.location.href = "composemessage.php"; 
        }, 
       }); 
      }); 

Страница перенаправляется правильно, но var_dump имеет значение NULL.

$_POST['passedusername'] = $passedusername; 
    var_dump($_POST['passedusername']); 

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

+0

удалите перенаправление и проверьте вкладку в сети для ответа вашего ajax. – roullie

+0

ваше задание наоборот, проверьте ответ elon ниже – Ghost

ответ

0

HTTP не имеет гражданства. Вы отправляете что-то в версию страницы, а затем перенаправляетесь на другой экземпляр этой страницы. Совершенно новая сессия. Используйте вкладку «Сеть» в «Инспекторе» вашего браузера по своему усмотрению, чтобы увидеть, как действительно возвращается страница, на которую вы отправили сообщение.

Редактировать: Как утверждает Элон, у вас также есть свое задание наоборот. Попробуйте сделать print_r($_POST), чтобы узнать, что возвращается.

+0

Получил его. Итак, пост ajax - это не ответ? мне нужно использовать форму? – ambe5960

+0

Публикация AJAX прекрасна, но может быть неактуальна на этой странице. В основном он используется для того, чтобы оставаться на одной странице, но вы все равно перенаправляете своих пользователей, поэтому лучше использовать обычную форму. Если вы хотите использовать проводку AJAX, это нормально, но поскольку это Javascript, вам понадобится инспектор. – Mave

1

является локальной переменной и, вероятно, не определено.

Значение, отправленное вашим кодом, будет находиться в $_POST['passedusername'], поэтому вы должны отменить присвоение $passedusername = $_POST['passedusername'].

Смежные вопросы