如何使用php会话将字段值从一个页面发送到另一个页面?

如何使用php会话将字段值从一个页面发送到另一个页面?,php,session,Php,Session,因为我是一个初学者,我在一种情况下结巴。注意:thankyou.php中存在电子邮件发送代码 <?php session_start(); $ticketdate = $_SESSION['eventdate']; //echo $_SESSION['eventdate']; echo $ticketdate; ?> <pre style="background:#fff;"> <?php print_r($_POST);?> </pre>

因为我是一个初学者,我在一种情况下结巴。注意:thankyou.php中存在电子邮件发送代码

<?php

session_start();
$ticketdate = $_SESSION['eventdate'];
//echo $_SESSION['eventdate'];
echo $ticketdate;
?>

<pre style="background:#fff;">
<?php print_r($_POST);?>
</pre>

<?php


if($_POST['txn_id'] != "") 
{
    $mail_subject='Ticket Booked for Gala Charity event';
    $mail_body.= 'Hello Dear, <br><br>';
    $mail_body.= 'Below are the ticket booking details for Gala Charity event. <br><br>';
    $mail_body.= '<b>Booking Date : </b>'. $ticketdate .'<br><br>';
    //$mail_body.= '<b>Booking Date : </b>'.trim($_POST['eventdate']).'<br><br>';
    $mail_body.= '<b>Number of tickets buyed : </b>'.trim($_POST['quantity']).'<br><br>';

    $mail_body.= '<b>Transaction ID : </b>'.trim($_POST['txn_id']).'<br><br>';
    $mail_body.= '<b>First Name : </b>'.trim($_POST['first_name']).'<br><br>';
    $mail_body.= '<b>Last Name : </b>'.trim($_POST['last_name']).'<br><br>';
    $mail_body.= '<b>Payers Email  : </b>'.trim($_POST['payer_email']).'<br><br>';
    $mail_body.= '<b>Payment Date : </b>'.trim($_POST['payment_date']).'<br><br>';

    $mail_body.= '<b>Address Name : </b>'.trim($_POST['address_name']).'<br><br>';
    $mail_body.= '<b>Street : </b>'.trim($_POST['address_street']).'<br><br>';
    $mail_body.= '<b>Zip : </b>'.trim($_POST['address_zip']).'<br><br>';
    $mail_body.= '<b>State : </b>'.trim($_POST['address_state']).'<br><br>';
    $mail_body.= '<b>Country Code : </b>'.trim($_POST['address_country_code']).'<br><br>';


    $mail_body.= '<b>Item Name : </b>'.trim($_POST['item_name']).'<br><br>';
    $mail_body.= '<b>Total Amount Paid : </b>'.trim($_POST['mc_currency']).'&nbsp;'.trim($_POST['mc_gross']).'<br><br>';

    $mail_from=$_POST['payer_email'];
    $mail_to = "myname@example.com";

    //$mail_reply_to = $mail_from;
    $mail_headers = "Content-Type: text/html; charset=iso-8859-1\r\nFrom: $mail_from\r\nReply-to: $mail_reply_to\r\n";
    @mail($mail_to, $mail_subject, $mail_body, $mail_headers);

}
?>
我的问题是我必须存储选择的日期,并在通过贝宝完成付款后传递到另一个页面。我尝试了php会话,但没有发现我落后的地方

成功完成交易后,我将从paypal获得$u POST中的所有详细信息,如txn\u id、付款人\u电子邮件等,但我没有获得我在表单中选择的日期

请帮我找到正确的方向

我正在进行paypal集成,我有一个表单,其中有两个字段(index.php)

  • 选择日期
  • 门票数量
  • Code index.php:

        <?php
    
    @session_start(); 
        $var_value = $_POST['eventdate'];
        $_SESSION['eventdate'] = $var_value;
        echo $_SESSION['eventdate'];
    ?>
    
    <form name="_xclick" action="https://www.sandbox.paypal.com/r" method="post">
                          <table border="0" cellspacing="0" cellpadding="5" id="tbl_paypal_form">
                            <tr>
                              <td colspan="2"><div id="ticket_amount">£10 per person</div></td>
                            </tr>
                            <tr>
                              <td>Select Event Date <span class="mandatory">*</span></td>
                              <td><select name="eventdate" id="eventdate" class="form_field">
                                  <option value="">Select Date</option>
                                  <option value="Sat 14 July 2012">Sat 14 July 2012</option>
                                  <option value="Sun 15 July 2012">Sun 15 July 2012</option>
                                  <option value="Mon 16 July 2012">Mon 16 July 2012</option>
                                </select></td>
                            </tr>
                            <tr>
                              <td>No. of Tickets <span class="mandatory">*</span></td>
                              <td><input type="text" name="quantity" id="quantity" class="form_field">
                              <span style="color:#bbb; font-size:11px; padding-top:5px;">For ex: 4</span>
                              </td>
                            </tr>
                            <tr>
                              <td colspan="2"><?php
                                    if(!empty($errorMessage)) 
                                    {
                                        echo("<div id='validation_error'>");
                                        echo("<p class='error_message'>There was an error with your form:</p>\n");
                                        echo("<ul class='error_message'>" . $errorMessage . "</ul>\n");
                                        echo("</div>");
                                    }
                                ?></td>
                            </tr>
                            <tr>
                              <td><img src="images/paypal.gif" /></td>
                              <td><input type="image" src="images/btn_paypal.gif" border="0" name="formsubmit" value="Submit" onclick="return ValidateForm();" alt="Make payments with PayPal - it's fast, free and secure!">                              
                              </td>
                            </tr>
                          </table>
                          <input type="hidden" name="cmd" value="_xclick">
                          <input type="hidden" name="business" value="gala@iskconcoventry.com">
                          <input type="hidden" name="currency_code" value="EUR">
                          <input type="hidden" name="item_name" value="Gala Charity Show Tickets">
                          <input type="hidden" name="amount" value="10">
                          <input type="hidden" name="return" value="http://www.vyx.com/gala/thankyou.php">
                          <input type="hidden" name="notify_url" value="http://www.xyx.com/gala/thankyou.php">
                          <input type="hidden" name="cbt" value="Return to The Store">
                          <!--<input type="hidden" name="eventdate" value="<?php echo $_POST['eventdate'];?>">-->
                        </form>
    
    
    每人10英镑
    选择事件日期*
    选择日期
    2012年7月14日星期六
    2012年7月15日星期日
    2012年7月16日星期一
    门票数量*
    例:4
    
    您应该使用paypal的自定义数据字段发送和接收付款的附加值。只需在表单中添加另一个输入即可

    <input name="custom" type="hidden" value="" />
    
    在关闭
    标记之前向页面添加一点javascript

    <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
    <script type="text/javascript">
        function buildCustomVar()
        {
            var custom = $('select[name="eventdate"]').val() + "|" + $('input[name="quantity"]').val();
            $('input[name="custom"]').val(custom);
        }
    </script>
    

    把你的表格改成

    <form name="_xclick" action="https://www.sandbox.paypal.com/r" method="post" onsubmit="buildCustomVar()">
    
    <form name="_xclick" action="https://www.sandbox.paypal.com/r" method="post" onsubmit="buildCustomVar()">
    
    
    
    添加javascript

    <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
    <script type="text/javascript">
    enter code here
        function buildCustomVar()
        {
            var custom = $('select[name="eventdate"]').val() + "|" + $('input[name="quantity"]').val();
            $('input[name="custom"]').val(custom);
        }
    </script>
    
    
    在这里输入代码
    函数buildCustomVar()
    {
    var custom=$('select[name=“eventdate”]').val()+“|”+$('input[name=“quantity”]').val();
    $('input[name=“custom”]).val(自定义);
    }
    
    您将值保存到会话的实际位置?您好,请参阅我在index.php代码中添加的会话代码。您能否在我的案例中详细说明如何传递值?亲爱的,非常感谢您为我节省了时间。我得到了输出,你的答案和方法是正确的,我感谢你的努力。我仍然有一个疑问,如何在会话中实现同样的功能?
    <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
    <script type="text/javascript">
    enter code here
        function buildCustomVar()
        {
            var custom = $('select[name="eventdate"]').val() + "|" + $('input[name="quantity"]').val();
            $('input[name="custom"]').val(custom);
        }
    </script>