2014-01-15 2 views
0

Я пытаюсь получить ответ от платежного шлюза и отобразить выбранные результаты на странице результатов «approved.php». Мне нужно передать переменные из этого кода в "approved.php". Любые предложения о том, как кодировать это с помощью СЕССИИ или ПОСТ?Передача переменной PHP с использованием сеанса или сообщения

 if ($_POST["check"] != "1") 
      {}//do nothing 
     if($response_array[3]=="This transaction has been approved.") 
      { 
     session_start(); 
     $_SESSION[($response_array[7])] = $trans_id; 
     echo '<script language="Javascript">'; 
     echo 'window.location="/approved.php"'; 
     echo '</script>'; 
      } 
     else 
      { 
     echo '<script language="Javascript">'; 
     echo 'window.location="/declined.html'; 
     echo '</script>'; 
      } 

Тогда на approved.php

session_start(); 
$trans_id = $_SESSION['trans_id']; 
echo $trans_id; 

Это не работает. Я получаю сессию уже начатых ошибок на approved.php, и никакие переменные не передаются. Любая помощь приветствуется.

+0

Строка 6: вы не должны добавлять скобки вокруг своего имени переменной $ _SESSION. – Junior

+0

Почему javaScript? –

+0

@OleKristianAanensen Почему бы и нет? Это не обязательно, но это ничего не болит. – Barmar

ответ

1

Я не знаю, как выглядит ваш массив $ response_array, но если это восьмой элемент, это не строка «trans_id», это проблема. Может быть, вы хотели:

$_SESSION['trans_id'] = $trans_id; 

или

$_SESSION['trans_id'] = $response_array[7]; 
0

По вашему вопросу ваше задание должно выглядеть следующим образом:

$_SESSION['trans_id'] = $response_array[7]; 

хотя я хотел бы использовать POST для хранения trans_id если только необходимо на accept.php

+0

'$ _POST' не сохраняется через перенаправления –

+0

Как вы это сделаете с POST? –

+0

Сэм прав! Я ответил так, как будто я написал код, и я бы не использовал перенаправления, поэтому вы застряли с $ _SESSION – BKCOHEN

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