PHP删除不需要的输入信息&;连接文本字段

PHP删除不需要的输入信息&;连接文本字段,php,paypal,string-concatenation,Php,Paypal,String Concatenation,我正在尝试为我的网站创建一个存款只读参考字段,并将其作为发票号传递给paypal进行识别。参考号由功能日期填充,格式为DD/MM/YY、firstname和姓氏的第一个字符。(例如2013年7月5日) 我希望对所有可编辑字段进行必要的字段验证,并在用户输入功能日期后填充存款参考 我是PHP的新手,不确定从哪里开始,也不确定实现预期结果的最佳实践 我使用的HTML表单包含以下代码: <form id="depositForm" name="_xclick" action="https://w

我正在尝试为我的网站创建一个存款只读参考字段,并将其作为发票号传递给paypal进行识别。参考号由功能日期填充,格式为DD/MM/YY、firstname和姓氏的第一个字符。(例如2013年7月5日)

我希望对所有可编辑字段进行必要的字段验证,并在用户输入功能日期后填充存款参考

我是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>

付定金很简单。。。。。
只需输入以下所有详细信息,选择您建议的存款选项,然后单击“立即购买”。就这么简单

注:所有标有*的字段都是必填字段。任何错误都将以红色突出显示。 *名字: *姓: *活动日期: *选择存款选项: 预订参考: 挑选 选择1 选择2 如果您有任何问题,请随时与我们联系


我认为你的思路是对的。请记住,您的表单将把数据发布到
标记的
操作
属性中列出的任何地址。在这种情况下,您将直接向PayPal发送所有表单数据。在发送数据之前,您没有机会运行任何PHP代码。两种选择:

1) 更改表单上的
action
属性,并将数据发布到自己服务器上的PHP文件中。该文件将进行处理,然后向PayPal发送新请求

2) 这可能更容易。在用户单击Submit之后但在数据发送之前,使用javascript制定发票编号。您可以通过向表单添加
onsubmit
属性来实现这一点。它看起来像这样:

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

然后通过在页面的
区域插入
块来创建javascript函数:

<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>

函数generateInvoiceNo(){
//获取日期、用户的名字和最后一个首字母
var d=新日期();
var curr_date=d.getDate();
var curr_month=d.getMonth()+1;
var curr_year=d.getFullYear();
var datestr=当前日期+“/”+当前月份+“/”+当前年份。substr(2)
var firstname=document.getElementById('depositFirstname')。值;
var lastname=document.getElementById('depositLastname')。值;
//生成发票编号
var invoicenum=datestr+firstname+lastname.substr(0,1);
//将发票编号放入表单上的隐藏字段中
document.getElementById('depositRef')。value=invoicenum;
}

警告:我还没有测试上面的代码,但应该可以开始了。

不是完整的答案,但是您需要编写javascript来设置提交给客户端paypal的数据,或者您需要将表单操作点返回到您的服务器,以便在那里进行验证和数据打包。