2013-06-09 3 views
1

현재 제출할 때 결제 게이트웨이로 이동하여 등록한 이벤트 비용을 지불 할 수있는 양식을 작성 중입니다. 지불 및 양식이 올바르게 작동하고 있습니다.값을 확인하고 기존 행의 열에 삽입

사용자가 결제하려고 할 때 생성 된 판매자 세션 ID 및 기타 값을 내 데이터베이스 (mySQL)에 저장합니다.

제가 겪고있는 문제는 지불이 이루어지고 지불 사이트가 판매자 세션 ID가 동일한 값을 반환하고 기존 행의 지불 상태 열을 업데이트하는 방법을 확인하는 것입니다.

나는 PHP로 어떻게하는지 잘 모르겠다. 문제가있는 곳이라고 생각한다. 나는 인터넷 검색되었지만 아무 소용 ..

내가의 라인을 따라왔다 해봤 무엇

는 :

$merchant = $_GET['ms']; 
$status = $_GET['ec']; 
if ($merchant == 'session') 
{ 
$sql ="UPDATE $tbl_name SET paystatus='$status' WHERE session = '$merchant'"; 
} 

나는 그 열을 정확한 업데이트를 지정해야하는 경우 확실하지 않다 행 어디 상인 == 세션 또는 방법.

+0

아마도 이것은 사용중인 지불 게이트웨이와 그들이 당신에게 보내는 데이터에 달려 있습니다. 어떤 게이트웨이를 사용하고 있습니까? – chrislondon

+0

paystation.co.nz를 사용하고 있습니다. 오류 코드 = 0 인 경우 거래가 완료되면 판매자 세션 (ms) 오류 코드 (ec)를 전송합니다. 내가 원하는 것은 반환 된 판매자 세션 값이 저장된 판매자 세션 중 하나와 같은지 확인한 다음 해당 행의 paystatus 열을 업데이트하는지 확인하는 것입니다. 나는 이것에 대해 어떻게 해야할지 잘 모르겠다. – hmmm

+0

http://imgs.xkcd.com/comics/exploits_of_a_mom.png – imulsion

답변

0
$merchant = $_GET['ms'];//merchant 
$status = $_GET['ec'];//error code 
$query = "SELECT `merchant` FROM `tbl` WHERE `merchant` = '".$merchant."'";//select merchant column where merchant variable is in your table 
$result = mysqli_query($query); //query 
if ($result&&$status!=0)//if query succeeds and error != 0 
{ 
$sql ="UPDATE $tbl_name SET paystatus='".$status."' WHERE session = '".$merchant."'";//update 
$doquery = mysqli_query($sql);//query 
} 

원하는대로해야합니다.

+0

내 시도보다 나은 시도이지만 여전히 상태에 오류 코드를 저장하지 않는 것처럼 보인다. . 또한 mysqli_query()에는 적어도 2 개의 매개 변수가 필요하다는 오류가있었습니다. mysql_query()로 변경했습니다. – hmmm

+0

@Nathan 죄송합니다. 죄송합니다. 두 번째 매개 변수를 잊어 버렸습니다. 상태에 오류 코드를 저장하는 것은 내 코드와 관련이 없습니다. 그것은 $ _GET – imulsion

+0

을 통해 수신되었는지 확인하는 것이지만, UPDATE $ tbl_name SET paystatus = ' ". $ status."'WHERE session = ' ". $ merchant."'는 $를 저장하지 않습니다. 상태 ($ _GET [ 'ec']가 paystatus에 있습니까? 죄송합니다. 제가 처음 언급 한 상태가 paystatus가 아니 었으면합니다. – hmmm

관련 문제