Foros del Web » Programando para Internet » PHP »

Variable de session que no aparece en otras páginas

Estas en el tema de Variable de session que no aparece en otras páginas en el foro de PHP en Foros del Web. Hola a todos! Tengo una duda sobre una variable de session. Esto es lo que tengo armado: Código PHP: session_start (); include( 'conectar.php' );  //incluimos el config.php que contiene los datos de la conexión a la db ...
  #1 (permalink)  
Antiguo 21/09/2011, 09:41
 
Fecha de Ingreso: mayo-2002
Ubicación: Capital Federal
Mensajes: 630
Antigüedad: 22 años
Puntos: 1
Variable de session que no aparece en otras páginas

Hola a todos! Tengo una duda sobre una variable de session. Esto es lo que tengo armado:

Código PHP:
session_start();
include(
'conectar.php'); //incluimos el config.php que contiene los datos de la conexión a la db

$nick_usuario mysql_real_escape_string($_POST['nick_usuario']);
$pass_usuario mysql_real_escape_string($_POST['pass_usuario']);

//comprobamos en la db si existe ese nick con esa pass
$usuario mysql_query("SELECT * FROM usuario WHERE nick_usuario = '$nick_usuario' AND pass_usuario = '$pass_usuario'");

if(
$user_ok mysql_fetch_array($usuario)) //si existe comenzamos con la sesion, si no, al index
{

//damos valores a las variables de la sesión
$_SESSION['usuario'] = $user_ok["nick_usuario"]; //damos el nick a la variable usuario
$_SESSION['codusuario'] = $user_ok["id_usuario"]; //damos la id del user a la variable idusuario
$_SESSION['email'] = $user_ok["email_usuario"];
Header("Location: carrito.php"); //volvemos al login donde nos saldrá nuestro menú de usuario

}else{

echo 
'USUARIO y PASSWORD INCORRECTOS';
echo 
'<INPUT name="button" type="button" onClick="history.go(-1)" value="Volver">';

Y con <?php session_start(); ?> mantengo la session abierta en otras páginas, pero el problema es que no me imprime el email en ninguna de ellas y quiero agregarlo en un campo de un archivo enviar.php para que aparezca el remitente y no hace nada.
Quisiera que aparezca en esta página pero no aparece:

enviar.php
Código PHP:
session_start();
error_reporting(E_ALL);
@
ini_set('display_errors''1');
if(isset(
$_SESSION['carro']))
$carro=$_SESSION['carro'];else $carro=false;

if (
$_POST['enviar'] != "") {

require_once(
'phpmailer/class.phpmailer.php');
require_once(
"phpmailer/class.smtp.php");

$mail = new PHPMailer(); // defaults to using php "mail()"
$mail->Helo "www.misitio.com.ar"//Muy importante para que llegue a hotmail y otros
$mail->IsSendmail(); // telling the class to use SendMail transport
$mail->SetFrom('[email protected]''Quiero Comprar');
//$mail->AddReplyTo("[email protected]","First Last");
$address "[email protected]";
$mail->AddAddress($address"Pedido");
$mail->Subject "Carrito de Compras Online";

$mail->IsHTML(true);

if(
$carro){

$body  'CARRITO DE COMPRAS'
//$body .= " mensaje de prueba"; 
    
$body .= '<table width="399" border="1">
    <tr>
    <td width="64" height="20">Producto</td>
    <td width="236">Categoria</td>
    <td width="204">Linea</td>
    <td width="82" height="20">Precio</td>
    <td height="20" colspan="2" align="center">Cantidad de Unidades</td>
    </tr>'
;
  
$color=array("#ffffff","#F0F0F0");
  
$contador=0;
  
$suma=0;
//  $sumar1=count($carro);
   
foreach($carro as $k => $v){
   
$subto=$v['cantidad']*$v['precio'];
   
$suma=$suma+$subto;
   
$contador++;
    
$body .= '<tr>
    <td height="20">'
.$v['id_articulo'].'</td>
      <td height="20">'
.$v['categoria'].'</td>
      <td height="20">'
.$v['linea'].'</td>
      <td height="20">'
.$v['precio'].'</td>
      <td width="45" height="20" align="center">'
.$v['cantidad'].'</td>
    </tr>'
;
    }
  }

  
$contador2=0;
  
$suma2=0;
  foreach(
$carro as $k => $v)
  {
   
$subto=$v['cantidad'];
   
$suma2=$suma2+$subto;
   
$contador2++;
    }
    
$body .= '<table width="399" border="1">
    <tr>
    <td height="20"><span class="prod">Total de Productos Seleccionados: '
.count($carro).'</span></td>
    <td height="20"><span class="prod">Importe a Abonar: '
.number_format($suma,2).'</span></td>
    </tr>
    </table>'
;
  
$mail->Body $body

$mail->Send(); 

// Notificamos al usuario del estado del mensaje 
if(!$mail->Send()){ 
//   echo "No se pudo enviar el Mensaje.";
   
echo "<br/>".$mail->ErrorInfo//Esto te muestra el error que ha producido al intentar enviar el correo  
}else{ 
   echo 
"Mensaje enviado exitosamente."


¿Cómo hago para pasar estas variables de session a otras páginas?

Muchas gracias y saludos.
Marx.
__________________
"Todo lo que somos es el resultado de lo que hemos pensado". Budda.
  #2 (permalink)  
Antiguo 21/09/2011, 09:50
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Variable de session que no aparece en otras páginas

A ver si te entiendo, ¿dices que que las demás variables si se pasan excepto el email?

Si es así entonces el problema no radica en pasar las variables por sesión, sino que desde un inicio al asignar dicha variable no hay nada.

Primero debes asegurarte de que tienes datos, ¿no crees?
Código PHP:
var_dump($user_ok); 
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 21/09/2011, 11:57
 
Fecha de Ingreso: mayo-2002
Ubicación: Capital Federal
Mensajes: 630
Antigüedad: 22 años
Puntos: 1
Respuesta: Variable de session que no aparece en otras páginas

Cita:
Iniciado por pateketrueke Ver Mensaje
A ver si te entiendo, ¿dices que que las demás variables si se pasan excepto el email?

Si es así entonces el problema no radica en pasar las variables por sesión, sino que desde un inicio al asignar dicha variable no hay nada.

Primero debes asegurarte de que tienes datos, ¿no crees?
Código PHP:
var_dump($user_ok); 
pateketrueke: mil gracias por responder y perdon por las preguntas pero como no estoy en casa y no puedo probar el código trato en este ratito de poder comprender un poco esto.

La duda que tengo es si estoy armando bien o no lo de las sessiones que puse al principio. Calculo que si xq sino me hubiese tirado algún error. figura abajo. Ahora en el caso que lo este haciendo bien, lo que necesitaría es "guardar" tanto el nombre, apellido y el email (IMPORTANTISIMO) que recojo desde la bdd y agregarlo acá, en la página enviar.php.
Xq necesito el email? Para saber quien me lo envió.

Lo que hice en el archivo enviar.php fue modificar algunas lineas y al final quedó así:

enviar.php
Código PHP:
@session_start(); // <-------     
error_reporting(E_ALL);
@
ini_set('display_errors''1');
if(isset(
$_SESSION['carro']))
$carro=$_SESSION['carro'];else $carro=false;

if (
$_POST['enviar'] != "") {

require_once(
'phpmailer/class.phpmailer.php');
require_once(
"phpmailer/class.smtp.php");

$mail = new PHPMailer(); // defaults to using php "mail()"
$mail->Helo "www.misitio.com"//Muy importante para que llegue a hotmail y otros
$mail->IsSendmail(); // telling the class to use SendMail transport


//Indicamos cual es nuestra dirección de correo y el nombre que 
  //queremos que vea el usuario que lee nuestro correo
  
$mail->From "[email protected]"// ACA necesito que aparezca el email de la base
  
$mail->FromName "nombre_del_usuario"// ACA el nombre y apellido del usuario

//Indicamos cual es la dirección de destino del correo
  
$mail->AddAddress("[email protected]");

$mail->AddReplyTo("[email protected]","Copia"); // esto no funciona

//Asignamos el Asunto
$mail->Subject "Carrito de Compras Online";
.........

// todo el resto funciona 
Por eso preguntaba y queria saber si estaba creando y guardando bien los datos de la session y cómo hacer para que esos datos aparezcan en los lugares donde los necesito.
Gracias y perdonen mi desprolijidad pero no estoy en casa.
Saludos.
Marx.
__________________
"Todo lo que somos es el resultado de lo que hemos pensado". Budda.
  #4 (permalink)  
Antiguo 22/09/2011, 08:26
 
Fecha de Ingreso: mayo-2002
Ubicación: Capital Federal
Mensajes: 630
Antigüedad: 22 años
Puntos: 1
Respuesta: Variable de session que no aparece en otras páginas

¿Estoy pasando bien las variables?
Gracias.
__________________
"Todo lo que somos es el resultado de lo que hemos pensado". Budda.
  #5 (permalink)  
Antiguo 22/09/2011, 08:30
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Variable de session que no aparece en otras páginas

Cita:
Iniciado por marx-pola Ver Mensaje
¿Estoy pasando bien las variables?
Gracias.
¿Como saber si no nos muestras el resultado de tus variables?

Al momento de crear las variables de sesión debes asegurarte que hay contenido en ellas, pues aún si están vacías si se crearán en la sesión pero se pasarían vacías.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #6 (permalink)  
Antiguo 25/09/2011, 09:17
 
Fecha de Ingreso: mayo-2002
Ubicación: Capital Federal
Mensajes: 630
Antigüedad: 22 años
Puntos: 1
Respuesta: Variable de session que no aparece en otras páginas

Cita:
Iniciado por pateketrueke Ver Mensaje
¿Como saber si no nos muestras el resultado de tus variables?

Al momento de crear las variables de sesión debes asegurarte que hay contenido en ellas, pues aún si están vacías si se crearán en la sesión pero se pasarían vacías.
Ah! Ahora si... lo acabo de probar y me tira NULL.

Esto es porque no las crea, no? Cómo se puede solucionar?
__________________
"Todo lo que somos es el resultado de lo que hemos pensado". Budda.

Etiquetas: html, mysql, páginas, session, variables, usuarios
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:15.