2013-07-05 1 views
0

내 웹 사이트에 대한 읽기 전용 참조 필드를 만들고 paypal에 송장 번호로 전달하려고합니다. 식별을 위해. 참조 번호. DD/MM/YY 형식의 함수 날짜로 채워집니다. 이름은 성의 첫 번째 문자 인 &입니다. (예 : 05/07/13scottp)PHP는 원하지 않는 입력 정보를 제거하고 텍스트 필드를 연결합니다.

내가 ....

모든 편집 가능한 필드에 사용자가 기능 날짜를 입력 한 후 예금 참조 채워위한 필수 항목 확인을 좋아하는 난 거라고 초보자가 PHP를 시작하고 어디에서 시작해야하는지 또는 원하는 결과를 구현하는 가장 좋은 방법인지 알 수 없습니다.

나는 다음과 같은 코드와 HTML 양식을 사용하고 있습니다 :

<form id="depositForm" name="_xclick" action="https://www.paypal.com/cgi-bin/webscr" method="post"> 

    <div id="deposit-form" > 
    <h1>Paying your deposit is Simple.....</h1> 
    <p>Simply input all the details below, select your advised deposit option and click "Buy Now". It's that easy......</p> 
    <p>Note: All fields marked <h7>*</h7> are required. Any Errors will be highlighted <h7>Red</h7>. 

    <table> 
    <tr> 
    <td> 
    <label for="depositFirstname">*Firstname:</label> 
    <label for="depositSurname">*Surname:</label> 
    <label for="depositFunctiondate">*Function Date:</label> 
    <label for="depositOp">*Select deposit option:</label> 
    <label for="depositRef">Booking Reference:</label> 
    </td> 
    </tr> 
    <tr> 
    <td> 

    <input type="hidden" name="cmd" value="_xclick"> 
    <input type="hidden" name="business" value="XXXXXX"> 
    <input type="hidden" name="currency_code" value="GBP"> 
    <input type="hidden" name="country" value="United Kingdom" /> 
    <input type="hidden" name="no_shipping" value="1"> 
    <input type="hidden" name="item_name" value="Glimmer Nights Function Deposit"> 

    <input type="text" name="first_name" id="depositFirstname" /> 
    <input type="text" name="last_name" id="depositSurname" /> 
    <input type="text" name="depositFunctiondate" id="depositFunctiondate" />   
    <select size="1" name="amount" id="depositOp" class="input" /> 
     <option value="">Select</option> 
     <option name="amount" value="30.00">Option 1</option> 
     <option name="amount" value="50.00">Option 2</option> 
    <input type="text" name="invoice" id="depositRef" readonly="depositRef()" value="" /> 
    </td> 
    </tr> 

    </table> 

    <p>Should you have any questions, please do not hesitate to contact us........</p> 
    <input type="image" src="http://www.paypalobjects.com/en_US/i/btn/btn_buynow_LG.gif" name="submit" alt="Make payments with PayPal - it's fast, free and secure!"> 
    </div> 
</form> 
+0

완전한 대답은 아니지만 클라이언트 측에서 paypal에 제출할 데이터를 설정하려면 자바 스크립트를 작성하거나 유효성 검사 및 데이터 패키징을 수행하기 위해 양식 액션 포인트를 서버에 다시 보내야합니다 그곳에. – Jerry

답변

0

난 당신이 바른 길에 생각합니다. 양식은 <form> 태그의 action 속성에 나열된 주소로 POST 할 것입니다. 이 경우 모든 양식 데이터를 PayPal로 직접 보냅니다. 데이터를 보내기 전에 PHP 코드를 실행할 기회가 없습니다. 두 가지 선택 :

1) 양식의 action 속성을 변경하고 사용자 서버의 PHP 파일에 POST 데이터를 게시하십시오. 그 파일은 처리를 한 다음 PayPal에 새로운 요청을 보냅니다.

2) 아마도 더 쉬울 것입니다. 자바 스크립트를 사용하여 사용자가 제출을 클릭 한 후 데이터가 전송되기 전에 송장 번호를 공식화하십시오. 양식에 onsubmit 특성을 추가하여이 작업을 수행 할 수 있습니다. 그것은 다음과 같이 보일 것이다 :

<script> 
    function generateInvoiceNo(){ 
     //get the date, user's first name and last initial 
     var d = new Date(); 
     var curr_date = d.getDate(); 
     var curr_month = d.getMonth() + 1; 
     var curr_year = d.getFullYear(); 
     var datestr = curr_date + "/" + curr_month + "/" + curr_year.substr(2) 
     var firstname = document.getElementById('depositFirstname').value; 
     var lastname = document.getElementById('depositLastname').value; 
     //generate invoice number 
     var invoicenum = datestr + firstname + lastname.substr(0,1); 
     //put the invoice number into a hidden field on the form 
     document.getElementById('depositRef').value = invoicenum; 
    } 
</script> 

경고 :

<form id="depositForm" name="_xclick" action="https://www.paypal.com/cgi-bin/webscr" onsubmit="generateInvoiceNo();" method="post"> 

다음 페이지의 <head> 지역에 <script> 블록을 삽입하여 자바 스크립트 함수를 만드는 나는 위의 코드를 테스트하지 않았습니다 ,하지만 그것은 당신을 시작해야합니다.