PHP会话在函数内不工作

PHP会话在函数内不工作,php,session,pdo,Php,Session,Pdo,我有一个功能,在有人通过paypal购买物品后,我不需要将特定数据插入数据库,我需要它将用户名插入数据库,用户名存储在会话中,出于某种奇怪的原因,会话即使在编写会话_start()时也无法工作即使在调用该函数的函数中也是如此。 这是我的密码: function insert_data($request){ session_start(); require_once('../pdo_connect.php'); $post=$request; $item_name=$t

我有一个功能,在有人通过paypal购买物品后,我不需要将特定数据插入数据库,我需要它将用户名插入数据库,用户名存储在会话中,出于某种奇怪的原因,会话即使在编写
会话_start()时也无法工作即使在调用该函数的函数中也是如此。
这是我的密码:

    function insert_data($request){
    session_start();
    require_once('../pdo_connect.php');


$post=$request;
$item_name=$this->issetCheck($post,'item_name');
$amount=$this->issetCheck($post,'mc_gross');
$txn_id=$this->issetCheck($post,'txn_id');
$payment_status=$this->issetCheck($post,'payment_status');
$payer_id=$this->issetCheck($post,'payer_id');
$payer_user=$_SESSION['username'];

$send_values = $conn->prepare("INSERT INTO transactions (item_name,amount,txn_id,payment_status,payer_user) VALUES (:scriptname,:amount,:txnid,:paymentstatus)");

    $send_values->bindParam(':scriptname',$item_name);
    $send_values->bindParam(':amount',$amount);
    $send_values->bindParam(':paymentstatus',$payment_status);
    $send_values->bindParam(':txnid',$txn_id);
    $send_values->bindParam(':payeruser',$payer_user);


$send_values->execute();    

    } 
我不确定我做错了什么。感谢您的支持:)

此功能:

$form .= '<input type="hidden" name="custom" value="' . $data['username'] . '" />';
$form.='';

它所做的是将这些值发送到paypal,但因为它称为custom paypal,它对这些值不做任何处理,而是将它们发送到IPN侦听器。

var\u dump($\u会话)我的赌注是会话_start();在创建$\u会话['username']之前未声明。理想情况下,将其放在最上面的文件中,并且只启动一次。[“username”]=>string(9)“wafflezzz”,因此我应该将其放在这里,然后稍后调用函数。您可以解析pay pal I特定数量的“free”字段(我认为是3个),它将原封不动地解析回来,您应该使用它