Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
function.php WordPress中的会话问题_Php_Wordpress_Session_Paypal_Paypal Ipn - Fatal编程技术网

function.php WordPress中的会话问题

function.php WordPress中的会话问题,php,wordpress,session,paypal,paypal-ipn,Php,Wordpress,Session,Paypal,Paypal Ipn,我是WordPress的新手。我在function.php中有PayPalIPN的代码。我为此创建了一个钩子。现在我的问题是,我没有在这个钩子中收到会话值。我尝试了各种选择,比如 if (!session_id()) { session_start(); } function sess_start() { if (!session_id()) session_start();

我是WordPress的新手。我在
function.php
中有PayPal
IPN
的代码。我为此创建了一个钩子。现在我的问题是,我没有在这个钩子中收到会话值。我尝试了各种选择,比如

        if (!session_id()) {
           session_start();
        }

        function sess_start() { 
          if (!session_id()) 
            session_start(); 
        } 
        add_action('init','sess_start');

       )
  • wp config.php
    中编写代码(
    session\u start()
  • wp settings.php
    $noUnset=array('GLOBALS','u GET','u POST','u COOKIE','u REQUEST','u SERVER','u ENV','u FILES','table_prefix','u SESSION');
  • 同时在两个文件中启动会话(在我的挂钩和其他文件中)
  • 还尝试了会话插件
  • 还完成了
    function.php中的代码
    (

            if (!session_id()) {
               session_start();
            }
    
            function sess_start() { 
              if (!session_id()) 
                session_start(); 
            } 
            add_action('init','sess_start');
    
           )
    
  • 这是我的代码:

            if (!session_id()) {
               session_start();
            }
    
            function sess_start() { 
              if (!session_id()) 
                session_start(); 
            } 
            add_action('init','sess_start');
    
           )
    
     add_action('paypal_ipn_for_wordpress_payment_status_completed', 'process_payment', 10, 1);
     function process_payment( $posted )
     { 
       if( !session_id())
        session_start();
    
    $email12 = $_SESSION['email12'];   
    // Parse data from IPN $posted[] array
    $first_name = isset($posted['first_name']) ? $posted['first_name'] : '';
    $last_name = isset($posted['last_name']) ? $posted['last_name'] : '';
    $payment_amount = isset($posted['mc_gross']) ? $posted['mc_gross'] : '';
    $recurring_payment_id = isset($posted['recurring_payment_id']) ? $posted['recurring_payment_id'] : '';
    $payer_email = isset($posted['payer_email']) ? $posted['payer_email'] : '';
    $txn_id = isset($posted['txn_id']) ? $posted['txn_id'] : '';
    $receiver_email= isset($posted['receiver_email']) ? $posted['receiver_email'] : '';   
        $mail_From    = $payer_email;
        $mail_To      = $receiver_email;
        $mail_Subject = "VERIFIED IPN";
        $mail_Body    = "Hello Secretary,
                     New registration for the event: 
                         Name: $first_name $last_name";
     mail($mail_To, $mail_Subject, $mail_Body, $mail_From);   
        $mail_From    = $receiver_email;
        $mail_To      = $payer_email;
        $mail_Subject = "VERIFIED IPN";
        $mail_Body    = "Thank you for registration. Your registration has been successfully done.";
    mail($mail_To, $mail_Subject, $mail_Body, $mail_From);       
     global $wpdb; 
         $id12 = $wpdb->get_results("SELECT * FROM wp_tmpnonmembersdetail");
    
        foreach($id12 as $row1)
     {
    $wpdb->insert( wp_checkoutnonmembersdetails, array( 
                                'Event_Name' => $row1->Event_Name,
                                'Event_Date' => $row1->date,
                'First_Name' => $row1->First_Name,
                'Last_Name' => $row1->Last_Name, 
                'Address' => $row1->Address, 
                'Email' => $email12  , 
                'cellphone' => $row1->cellphone, 
                'quantity' => $row1->quantity,
                                'reg_date' => $row1->date,
                                'payment_amount' => $payment_amount
        ) );
      }
    
    
    $id22 = $wpdb->get_results("SELECT * FROM wp_tmpmembersdetail where  id = '$id1' ");
    foreach($id22 as $row2)
    {
    $wpdb->insert( wp_checkouttmpmembersdetail, array( 
                                'Event_Name' => $row2->Event_Name,
                'First_Name' => $row2->First_Name,
                'Last_Name' => $row2->Last_Name, 
                'Address' => $row2->Address, 
                'Email' => $row2->Email, 
                'cellphone' => $row2->cellphone, 
                'quantity' => $row2->quantity,
                                'payment_amount' => $payment_amount
        ) );
        } 
      }
    
    另一件奇怪的事情是,我在另一个钩子的
    function.php
    文件中得到了另一个会话。
    请帮帮我。

    我并不完全了解会话的问题。但是,我想问两件事

            if (!session_id()) {
               session_start();
            }
    
            function sess_start() { 
              if (!session_id()) 
                session_start(); 
            } 
            add_action('init','sess_start');
    
           )
    
  • 您在哪个页面或函数中创建这3个会话($\会话['email'])

  •         if (!session_id()) {
               session_start();
            }
    
            function sess_start() { 
              if (!session_id()) 
                session_start(); 
            } 
            add_action('init','sess_start');
    
           )
    
  • 在下面的代码中,您编写了错误的变量名-我想应该是$email,而不是$email12

            if (!session_id()) {
               session_start();
            }
    
            function sess_start() { 
              if (!session_id()) 
                session_start(); 
            } 
            add_action('init','sess_start');
    
           )
    
    $id12 = $wpdb->get_results("SELECT * FROM table_name where Email= '$email12'  ");
    
  • $\会话变量值仅在创建后才能检索。如果手动编写此代码,则必须编写/创建这些$\会话变量

            if (!session_id()) {
               session_start();
            }
    
            function sess_start() { 
              if (!session_id()) 
                session_start(); 
            } 
            add_action('init','sess_start');
    
           )
    

    如果它是插件,您不知道从何处获得-尝试搜索
    $\u会话['email']=
    插件文件中的代码或文本。

    在,php文件中,我正在创建这3个会话,$email12是我的书写错误。尝试创建简单的php文件,以测试会话变量是否在服务器上工作。创建2个自定义php文件-在一个文件中创建会话,在另一个文件中尝试检索该会话的值。是的,我们正在Trive在另一个文件中获取该会话的值。但是我们没有在function.php文件中获取同一会话的值。请在function.php文件的顶部找到这段代码-如果(!isset($_session)){session_start();}您可以给我发电子邮件登录以便我检查吗?
            if (!session_id()) {
               session_start();
            }
    
            function sess_start() { 
              if (!session_id()) 
                session_start(); 
            } 
            add_action('init','sess_start');
    
           )