2014-04-02 7 views
0

1 개월 전, 내 세션이 내 웹 페이지간에 값을 유지하지 못했습니다. 따라서 파일 형식을 변경하여 UTF-8에서 UTF8없이 BOM 문제가 해결되었습니다. 이제 은행 웹 서비스를 사용하고 있습니다. 메소드를 성공적으로 호출하고 있습니다. 양식을 게시하면 은행 페이지로 리디렉션됩니다. 지불 후 내 사이트로 리디렉션하면 세션 배열이 비어 있습니다. !!!!리디렉션 후 내 세션이 작동하지 않는 이유는 무엇입니까?

내 세션은 그 값을 유지하지 않습니다 ... 왜?

(process1.php)를 재전송하기 전에 :

리디렉션 페이지 복귀 ( process2.php) 후
<?php 
session_start(); // first line and without space 
?> 
<!DOCTYPE html> 
<html> 
    <head> 
     <meta charset="UTF-8"/> 
     <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js">  
     </script> 
     <script> 
      $(document).ready(function(){ 
       $("form").submit(); 
      }); 
     </script> 
    </head> 
    <body> 
     <?php 
      $_SESSION['price']=1000; 
      $_SESSION['username']="14276912"; 
      $_SESSION['password']="874593a"; 
      $_SESSION['ReturnURL']="www.mysite.com/process3.php"; 
      $params=array(//parameters); 
      $client=new SoapClient("https://bankname.com/MerchantUtility.asmx?wsdl"); 
      $result=$client->__soapCall('bpPayRequest', array($params));          
      $RefId=$result[0]; 
     ?> 
     <form method="post" action="https://bankname.com/pgwchannel/startpay"> 
      <input name="RefId" value="<?php echo $RefId?>" type="hidden"/> 
     </form> 
    </body> 
</html> 

는 :

<?php 
session_start(); // first line and without space 
var_dump($_SESSION); 
?> 

위해서 var_dump은 배열을 나타낸다 (0) {} 정말 혼란 스럽습니다.

+0

가 다른 페이지로 제출하나요? –

+0

예 ** process2.php **에서 은행의 gatway에 양식을 게시하므로 process2.php가 은행의 지불 페이지로 리디렉션됩니다. 은행 측에서 작업을 지불 한 후 은행은 결과를 내 ** process3.php **에 게시하고 리디렉션합니다 그것에. – Javid

답변

0

이것은 로컬 호스트와 그 작업을 사용하려고 시도한 것입니다. 이것은 간단한 값 전달 코드입니다.

이 첫 번째 페이지입니다 :

<?php 
session_start(); 
      $_SESSION['price']=1000; 
      $_SESSION['username']="14276912"; 
      $_SESSION['password']="874593a"; 
?> 

<form method="post" action="a.php"> 
      <input name="submit" value="Submit" type="submit"/> 
     </form> 

이 목표로하고있다 페이지 :

<?php 
session_start(); 
var_dump($_SESSION); 
?> 

이것은 결과입니다

array(3) { ["price"]=> int(1000) ["username"]=> string(8) "14276912" ["password"]=> string(7) "874593a" } 
+0

감사합니다. 그렇습니다.이 코드는 세션 값을 corectly로 전달하지만 .. – Javid

+0

어떤 문제가 있습니까? –

관련 문제