Foros del Web » Programando para Internet » PHP »

variable $_SESSION vacia

Estas en el tema de variable $_SESSION vacia en el foro de PHP en Foros del Web. hola sooy yo otra ves..esta ves quiero saber como darme cuenta si la variable de session esta vacia... estoy haciendo una tienda online y donde ...
  #1 (permalink)  
Antiguo 28/03/2011, 09:48
 
Fecha de Ingreso: enero-2011
Mensajes: 45
Antigüedad: 13 años, 2 meses
Puntos: 1
Pregunta variable $_SESSION vacia

hola sooy yo otra ves..esta ves quiero saber como darme cuenta si la variable de session esta vacia...

estoy haciendo una tienda online y donde el usuario puede ver los productos que tiene en el carrito hay un link que dice ir a caja si el usuario le da a ese link lo manda a una pagina donde hay un formulario para que ponga sus datos, hasta hay esta bn.

lo que quiero es que cuando un usuario vea el carrito y este no tenga nada de productos o este vacia y el usuario le de al link de ir a caja lo redireccione al index, osea algo asi

Código PHP:
if(empty($_SESSION))
{
 
header("location: index.php");   

en un momento me funciono pero me di cuenta de que si selecciono algun producto y le doy a ir a caja me reedirecciona al index, osea que no importa si tiene producto o no me reedirecciona..

alguien sabe como solucionar esto...desde aora gracias :/

otra cosa no registro usuarios todo lo ago con la variable de session

en la version 2.0 abra el registro pero por aora no
  #2 (permalink)  
Antiguo 28/03/2011, 09:50
 
Fecha de Ingreso: febrero-2010
Mensajes: 818
Antigüedad: 14 años, 2 meses
Puntos: 55
Respuesta: variable $_SESSION vacia

tienes session_start() en todas las paginas ???

pruebas con
is(empty($_SESSION['indice_a_comprobar'])){
// lo que sea
}
  #3 (permalink)  
Antiguo 28/03/2011, 10:01
 
Fecha de Ingreso: enero-2011
Mensajes: 45
Antigüedad: 13 años, 2 meses
Puntos: 1
Respuesta: variable $_SESSION vacia

Cita:
Iniciado por Death_Empire Ver Mensaje
tienes session_start() en todas las paginas ???

pruebas con
is(empty($_SESSION['indice_a_comprobar'])){
// lo que sea
}
sii tngo el session_start() en todas las paginas
lo e echo d esa forma que dices y no me valida si esta vacia o no, comoquiera muestra el formulario si lo ago de la forma k dices y de la forma k dije al principio te manda al index
  #4 (permalink)  
Antiguo 28/03/2011, 11:45
Avatar de p414  
Fecha de Ingreso: agosto-2009
Ubicación: casi casi casi... a un lado de la cuna...
Mensajes: 575
Antigüedad: 14 años, 7 meses
Puntos: 44
Respuesta: variable $_SESSION vacia

prueba con:

Código PHP:
Ver original
  1. if (isset ($_SESSION['tuvariable']) )
  2. {
  3.      //si existe
  4. }
  5. else
  6. {
  7.     //sino existe
  8. }
  #5 (permalink)  
Antiguo 28/03/2011, 11:56
 
Fecha de Ingreso: enero-2011
Mensajes: 45
Antigüedad: 13 años, 2 meses
Puntos: 1
Respuesta: variable $_SESSION vacia

ya lo ice y nisikiera funciono asi..

ai k aclarar k estoy usando una clase para el carrito..eso tndra k ver?
  #6 (permalink)  
Antiguo 28/03/2011, 12:00
 
Fecha de Ingreso: enero-2011
Mensajes: 45
Antigüedad: 13 años, 2 meses
Puntos: 1
Respuesta: variable $_SESSION vacia

Código PHP:
<?php
//session_unset();borra todas la variables de session
class carrito 
       
//atributos de la clase 
    
var $num_productos
    var 
$array_id_prod
    var 
$array_nombre_prod
    var 
$array_precio_prod
     

       
//constructor. Realiza las tareas de inicializar los objetos cuando se instancian 
       //inicializa el numero de productos a 0 
       
function carrito () { 
       
$this->num_productos=0
       } 

       
//Introduce un producto en el carrito. Recibe los datos del producto 
       //Se encarga de introducir los datos en los arrays del objeto carrito 
       //luego aumenta en 1 el numero de productos 
       
function introduce_producto($id_prod,$nombre_prod,$precio_prod){ 
           
$this->array_id_prod[$this->num_productos]=$id_prod
           
$this->array_nombre_prod[$this->num_productos]=$nombre_prod
           
$this->array_precio_prod[$this->num_productos]=$precio_prod
           
$this->num_productos++;
           } 
       

       
//Muestra el contenido del carrito de la compra 
       //ademas pone los enlaces para eliminar un producto del carrito 
       
function imprime_carrito(){ 
            
$suma 0;
          
          echo 
'<table border=0 cellpadding="3"> 
           <tr> 
           <td><b>Nombre producto</b></td> 
           <td><b>Precio</b></td> 
           <td> </td> 
           </tr>'

           for (
$i=0;$i<$this->num_productos;$i++){ 
              if(
$this->array_id_prod[$i]!=0){ 
                 echo 
'<tr>'
                 echo 
"<td>" $this->array_nombre_prod[$i] . "</td>"
                 echo 
"<td>" $this->array_precio_prod[$i] . "</td>"
                 echo 
"<td><a href='elimina_carrito.php?linea=$i'>Eliminar producto</td>"
                 echo 
'</tr>'
                 
$suma += $this->array_precio_prod[$i]; 
              } 
$array_precio_prodnumber_format($array_precio_prod);
           } 
         
         
$total_precio $suma 1.16;
         
$total_precio "$".number_format($total_precio).".00";
          
$suma ="$".number_format($suma).".00";
           
//muestro el total 
           
echo "<tr><td><b>TOTAL:</b></td><td> <b>$suma</b></td><td> </td></tr>"
           
//total más IVA 
           
echo "<tr><td><b>Impuesto (16%):</b></td><td> <b>" $total_precio "</b></td><td> </td></tr>";
           echo 
"<tr><td><b>Productos Elegidos:</b></td><td> <b>" $i"</b></td><td> </td></tr>"
           echo 
"</table>"
       } 

       
//elimina un producto del carrito. recibe la linea del carrito que debe eliminar 
       //no lo elimina realmente, simplemente pone a cero el id, para saber que esta en estado retirado 
       
function elimina_producto($linea){ 
           
$this->array_id_prod[$linea]=0
       } 
}

if (!isset(
$_SESSION["ocarrito"])){ 
       
$_SESSION["ocarrito"] = new carrito(); 
}

?>
esa es la clase k toy usanod.... y taba mirando esto..creo k es el problema
Código PHP:
if (!isset($_SESSION["ocarrito"])){ 
       
$_SESSION["ocarrito"] = new carrito(); 

segun explicaban en el codigo, eso es para k cuando no aiga una session se cree sola...
creen k ese sea el problema?
  #7 (permalink)  
Antiguo 28/03/2011, 12:15
Avatar de p414  
Fecha de Ingreso: agosto-2009
Ubicación: casi casi casi... a un lado de la cuna...
Mensajes: 575
Antigüedad: 14 años, 7 meses
Puntos: 44
Respuesta: variable $_SESSION vacia

prueba a verificar que tiene o no algo la variable de session

despues de un session_start(); pon esto:

print_f($_SESSION);

Etiquetas: session, variables, vacias
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 14:54.