Quería definir unas varibles de sesion a partir de otras variable me podéis decir si es correcto esto, payer_email me llega por post.
$payer_email = $_POST['payer_email'];
$session_payer_email=$_SESSION["$payer_email"];
saludos,
y gracias
| |||
Variables de sesion ¿correcto? Quería definir unas varibles de sesion a partir de otras variable me podéis decir si es correcto esto, payer_email me llega por post. $payer_email = $_POST['payer_email']; $session_payer_email=$_SESSION["$payer_email"]; saludos, y gracias |
| |||
Gracias por la respuesta, lo he intentado pero no hay manera,mira como lo he puesto: <?php session_start(); ///////////////////////////////////////////////// /////////////Begin Script below.///////////////// ///////////////////////////////////////////////// // read the post from PayPal system and add 'cmd' $req = 'cmd=_notify-validate'; foreach ($_POST as $key => $value) { $value = urlencode(stripslashes($value)); $req .= "&$key=$value"; } // post back to PayPal system to validate $header = "POST /cgi-bin/webscr HTTP/1.0\r\n"; $header .= "Content-Type: application/x-www-form-urlencoded\r\n"; $header .= "Content-Length: " . strlen($req) . "\r\n\r\n"; $fp = fsockopen ('paypal.com', 80, $errno, $errstr, 30); // assign posted variables to local variables $item_name = $_POST['item_name']; $business = $_POST['business']; $item_number = $_POST['item_number']; $payment_status = $_POST['payment_status']; $mc_gross = $_POST['mc_gross']; $payment_currency = $_POST['mc_currency']; $txn_id = $_POST['txn_id']; $receiver_email = $_POST['receiver_email']; $receiver_id = $_POST['receiver_id']; $quantity = $_POST['quantity']; $num_cart_items = $_POST['num_cart_items']; $payment_date = $_POST['payment_date']; $first_name = $_POST['first_name']; $last_name = $_POST['last_name']; $payment_type = $_POST['payment_type']; $payment_status = $_POST['payment_status']; $payment_gross = $_POST['payment_gross']; $payment_fee = $_POST['payment_fee']; $settle_amount = $_POST['settle_amount']; $memo = $_POST['memo']; $payer_email = $_POST['payer_email']; $txn_type = $_POST['txn_type']; $payer_status = $_POST['payer_status']; $address_street = $_POST['address_street']; $address_city = $_POST['address_city']; $address_state = $_POST['address_state']; $address_zip = $_POST['address_zip']; $address_country = $_POST['address_country']; $address_status = $_POST['address_status']; $item_number = $_POST['item_number']; $tax = $_POST['tax']; $option_name1 = $_POST['option_name1']; $option_selection1 = $_POST['option_selection1']; $option_name2 = $_POST['option_name2']; $option_selection2 = $_POST['option_selection2']; $for_auction = $_POST['for_auction']; $invoice = $_POST['invoice']; $custom = $_POST['custom']; $notify_version = $_POST['notify_version']; $verify_sign = $_POST['verify_sign']; $payer_business_name = $_POST['payer_business_name']; $payer_id =$_POST['payer_id']; $mc_currency = $_POST['mc_currency']; $mc_fee = $_POST['mc_fee']; $exchange_rate = $_POST['exchange_rate']; $settle_currency = $_POST['settle_currency']; $parent_txn_id = $_POST['parent_txn_id']; //TEST SESSION: $_SESSION['session_payer_email']="$payer_email"; //$session_first_name = $_SESSION["$first_names"]; //$session_payment_date = $_SESSION["$payment_date"]; //$session_txn_id = $_SESSION["$txn_id"]; //$session_address_name = $_SESSION["$address_name"]; //$session_address_street = $_SESSION["$address_street"]; //$session_address_zip = $_SESSION["$address_zip"]; //$session_address_city = $_SESSION["$address_city"]; //$session_address_state = $_SESSION["$address_state"]; //$session_address_country =$_SESSION["$address_country"]; // subscription specific vars $subscr_id = $_POST['subscr_id']; $subscr_date = $_POST['subscr_date']; $subscr_effective = $_POST['subscr_effective']; $period1 = $_POST['period1']; $period2 = $_POST['period2']; $period3 = $_POST['period3']; $amount1 = $_POST['amount1']; $amount2 = $_POST['amount2']; $amount3 = $_POST['amount3']; $mc_amount1 = $_POST['mc_amount1']; $mc_amount2 = $_POST['mc_amount2']; $mc_amount3 = $_POST['mcamount3']; $recurring = $_POST['recurring']; $reattempt = $_POST['reattempt']; $retry_at = $_POST['retry_at']; $recur_times = $_POST['recur_times']; $username = $_POST['username']; $password = $_POST['password']; //auction specific vars $for_auction = $_POST['for_auction']; $auction_closing_date = $_POST['auction_closing_date']; $auction_multi_item = $_POST['auction_multi_item']; $auction_buyer_id = $_POST['auction_buyer_id']; if (!$fp) { // HTTP ERROR } else { fputs ($fp, $header . $req); while (!feof($fp)) { $res = fgets ($fp, 1024); if (strcmp ($res, "VERIFIED") == 0) { $notify_email = "[email protected]"; //email address to which debug emails are sent to $DB_Server = ""; //your MySQL Server $DB_Username = ""; //your MySQL User Name $DB_Password = ""; //your MySQL Password $DB_DBName = ""; //your MySQL Database Name //create MySQL connection $Connect = @mysql_connect($DB_Server, $DB_Username, $DB_Password) or die("Couldn't connect to MySQL:<br>" . mysql_error() . "<br>" . mysql_errno()); //select database $Db = @mysql_select_db($DB_DBName, $Connect) or die("Couldn't select database:<br>" . mysql_error(). "<br>" . mysql_errno()); $fecha = date("m")."/".date("d")."/".date("Y"); $fecha = date("Y").date("m").date("d"); //check if transaction ID has been processed before $checkquery = "select txnid from paypal_payment_info where txnid='".$txn_id."'"; $sihay = mysql_query($checkquery) or die("Duplicate txn id check query failed:<br>" . mysql_error() . "<br>" . mysql_errno()); $nm = mysql_num_rows($sihay); if ($nm == 0){ //execute query if ($txn_type == "cart"){ $strQuery = "insert into paypal_payment_info(paymentstatus,buyer_email,firs tname,lastname,street,city,state,zipcode,country,m c_gross,mc_fee,memo,paymenttype,paymentdate,txnid, pendingreason,reasoncode,tax,datecreation) values ('".$payment_status."','".$payer_email."','".$firs t_name."','".$last_name."','".$address_street."',' ".$address_city."','".$address_state."','".$addres s_zip."','".$address_country."','".$mc_gross."','" .$mc_fee."','".$memo."','".$payment_type."','".$pa yment_date."','".$txn_id."','".$pending_reason."', '".$reason_code."','".$tax."','".$fecha."')"; $result = mysql_query($strQuery) or die("Cart - paypal_payment_info, Query failed:<br>" . mysql_error() . "<br>" . mysql_errno()); for ($i = 1; $i <= $num_cart_items; $i++) { $itemname = "item_name".$i; $itemnumber = "item_number".$i; $on0 = "option_name1_".$i; $os0 = "option_selection1_".$i; $on1 = "option_name2_".$i; $os1 = "option_selection2_".$i; $quantity = "quantity".$i; ..... } } fclose ($fp); } ?> |
| ||||
Donde pones: $_SESSION['session_payer_email']="$payer_email";yo pondría: Código PHP: De todas formas en el código que muestras no veo donde usas la variable de sesión, ya que veo que la recojes en la sentencia que estoy comentando, pero luego no veo donde la usas para poder comprobar si te funciona o no. Revisa el flujo de tu script para ver si en el insert que tienes después, en vez de utilizar la variable $payer_email, quizás tengas que utilizar su correspondiente variable de sessión $_SESSION['session_payer_email']: Código PHP: Un saludo. Última edición por holahola; 05/12/2006 a las 02:34 Razón: Aclaración dobles comillas |
| |||
Re: Variables de sesion ¿correcto? El problema era que luego empleaba las variables dentro de una función pero a dicha función se las estaba pasando mal, todo funiconaba correctamente con el formato $_SESSION['payer_email']=$_POST['payer_email']; el problema es que al pasar por esa función perdía el valor de esa variable a primeras me pareciía un error de no haber definido bien la varible de sesión pero el problema era que dentro de la función no tenía valor porque no la llamaba correctamente, Muchísimas gracias por tu ayuda me has ayudado mucho da gusto ver gente que realmente quiere aprender y se preocupa por ver como acaban los hilos. Salu2! |