Foros del Web » Programando para Internet » PHP »

Problemas de sessiones session_start()

Estas en el tema de Problemas de sessiones session_start() en el foro de PHP en Foros del Web. Hola gente. Tengo una consulta, que nose porque sucede. Yo tengo los sisuigentes archivos. sessiones.php?codigo=5-3-2?cantidad=1-2-3 index.php upsession.php datos.php El funcionamiento es el siguiente: en sessiones.php ...
  #1 (permalink)  
Antiguo 17/06/2010, 20:53
 
Fecha de Ingreso: marzo-2009
Mensajes: 91
Antigüedad: 15 años, 7 meses
Puntos: 1
Pregunta Problemas de sessiones session_start()

Hola gente.

Tengo una consulta, que nose porque sucede.

Yo tengo los sisuigentes archivos.

sessiones.php?codigo=5-3-2?cantidad=1-2-3
index.php
upsession.php
datos.php


El funcionamiento es el siguiente: en sessiones.php yo con esos codigos y esa cantidad obtengo datos de la base de datos

Luego de obtner los datos, creo las sessiones

session_register('codigo');
session_register('cantidad);

luego de crear las sessiones vamos a index.php que ..SI ESTAN CREADAS LAS SESSIONES ENTONCES MUESTRA SU CONTENIDO

Una ves motrado, aprieto el boton siguiente, que va a upsession.php

en este archivo dependiendo del contnido de la session CODIGO y session CANTIDAD va a obtener datos de laBBDD y los va a volcar en la nueva session DATOS

session_register('DATOS');

Luego de crearla se redirecciòna a datos.php.

Y en este archivo muestra el conteido de la session DATOS

----------------------------------------------------------------------------------------------

AHORA::: el problema es el siguiente:
Me esta pasando. que la primera vez que ejecuto el archivo session.php con todos los paràmetros necesarios, inicia correctamente, y crea la sessiones CODIGO y CANTIDAD

Pero el problema esta en que nunca asigna los datos.

Esto Pasa lo mismo cuando voy a upsession.php

Crea las sessiones y no carga los datos.

Pero que pasa, si yo lo ejecuto la segunda vez. Muestra todo correctamente.

Esta es la creacion de la session.

Código PHP:
Ver original
  1. if (session_is_registered('cod_prod')){                
  2.     $_SESSION['cod_prod']=$cod_prod;
  3. }else{
  4.     session_register('cod_prod');
  5. }

Hay algo entre el manejo de sessiones que genere que no se cargen los datos al principio?.

Espero respuesta.
Saludos!.
  #2 (permalink)  
Antiguo 17/06/2010, 21:02
 
Fecha de Ingreso: diciembre-2009
Mensajes: 612
Antigüedad: 14 años, 11 meses
Puntos: 16
Respuesta: Problemas de sessiones session_start()

el archivo se llama sessiones.php?codigo=5-3-2?cantidad=1-2-3 o le pasas eso por otra página?

Tendrás que pasarselo por algún formulario, y no es así, es: sessiones.php?codigo=5-3-2&cantidad=1-2-3
__________________
Tengo una pregunta que a veces me tortura... ¿El loco soy yo o los locos son los demás?
  #3 (permalink)  
Antiguo 17/06/2010, 21:17
 
Fecha de Ingreso: marzo-2009
Mensajes: 91
Antigüedad: 15 años, 7 meses
Puntos: 1
Respuesta: Problemas de sessiones session_start()

Si..perdon...

Yo le envio los datos desde un archivo Flash.

Le envio las variables de "cantidad" y las de "codigos" Ahora, estoy teniendo el problema.

Que detecta las variables, pero alc rear la session no le asigna los datos.

esto tengo en el archivo session.php

Código PHP:
Ver original
  1. <?
  2.  
  3. if ((isset($_POST['cod_producto']))&&(isset($_POST['cant_producto']))){
  4.     $cod_prod=$_POST['cod_producto'];
  5.     $cant_prod=$_POST['cant_producto'];
  6.    
  7.     if (session_is_registered('cod_prod')){                
  8.         $_SESSION['cod_prod']=$cod_prod;
  9.     }else{
  10.         session_register('cod_prod');
  11.     }
  12.    
  13.     if (session_is_registered('cant_prod')){               
  14.         $_SESSION['cant_prod']=$cant_prod;
  15.     }else{
  16.         session_register('cant_prod');
  17.     }
  18.    
  19.     header("Location: index.php");
  20. }
  21. ?>
  22. <html>
  23. <head>
  24. </head>
  25. <body style="text-align:center">
  26. Error - Intente nuevamente
  27. </body>
  28. </html>


El archivo index....verifica si las sessiones de cantidad y codigo estan creadas.
Si no estan creadas se redirige a otra web.

Actualmente. Con este codigo, el arhcivo session.php esta creando las sessiones pero no les guarda los valores.
  #4 (permalink)  
Antiguo 17/06/2010, 21:25
 
Fecha de Ingreso: marzo-2009
Mensajes: 91
Antigüedad: 15 años, 7 meses
Puntos: 1
Respuesta: Problemas de sessiones session_start()

Che..gracias por haber respondido..

Ya lo solucione.

Lo que hice fue asignarle el valor despues de crearla.

No entiend porque no asignaba cuando los creaba. Porque en el servidor local de mi pc me funcionaba y en el server que tengo que almacenar la web no lo asignaba.

Pero ya esta
El codigo quedaria asì

Código PHP:
Ver original
  1. <?
  2.  
  3. if ((isset($_POST['cod_producto']))&&(isset($_POST['cant_producto']))){
  4.     $cod_prod=$_POST['cod_producto'];
  5.     $cant_prod=$_POST['cant_producto'];
  6.    
  7.     if (session_is_registered('cod_prod')){                
  8.         $_SESSION['cod_prod']=$cod_prod;
  9.     }else{
  10.         session_register('cod_prod');              
  11.         $_SESSION['cod_prod']=$cod_prod;
  12.     }
  13.    
  14.     if (session_is_registered('cant_prod')){               
  15.         $_SESSION['cant_prod']=$cant_prod;
  16.     }else{
  17.         session_register('cant_prod');             
  18.         $_SESSION['cant_prod']=$cant_prod;
  19.     }
  20.    
  21.     header("Location: index.php");
  22. }
  23. ?>
  24. <html>
  25. <head>
  26. </head>
  27. <body style="text-align:center">
  28. Error - Intente nuevamente
  29. </body>
  30. </html>
  #5 (permalink)  
Antiguo 17/06/2010, 22:51
Avatar de zerpico_01  
Fecha de Ingreso: enero-2008
Ubicación: Wilde - Avellaneda -
Mensajes: 421
Antigüedad: 16 años, 10 meses
Puntos: 13
Respuesta: Problemas de sessiones session_start()

Crea las variables vacias antes de usarlas luego para los parametros llamando a la varibles si no estan vacias.... ademas en tu codigo hay () de mas ....y amen de que no es nada seguro si las variables seran enviadas por un formulario al que tendran acceso desde internet...

mira aqui te post un ejemplo rapido de como se podria hacer o de como lo haria yo

Código PHP:
<?php if (!isset($_SESSION)) { @session_start(); }
error_reporting(0);

function 
quitaMe($mensaje)
{
$nopermitidos = array("_","-","·","´","'",'\\','<','>',"\"",";","´","`","*","%","&","=","?","|","+","#","^");
    
$mensaje str_replace($nopermitidos,""$mensaje);
    return 
$mensaje;
}
$_SESSION['cod_prod']=quitaMe("");
$_SESSION['cant_prod']=quitaMe(""); 

$cod_prod=htmlentities($_POST['cod_producto'],ENT_QUOTES);
$cant_prod=htmlentities($_POST['cant_producto'],ENT_QUOTES);
///la info que tendra codi prod
$numerico="/^[0-9]{1,5}$/";

if (isset(
$_POST['nombre_del boton enviar del formularo o id formulario'])){
if(!empty(
$cod_prod)){
$cod_prod=quitaMe($cod_prod);
if (!
preg_match($numerico$cod_prod)) 
    {
$error"datos no validos!";
   exit(); 
  }else{
$_SESSION['cod_prod']=$cod_prod

}
}
if(empty(
$error)and !empty ($_SESSION['cod_prod']){
  
    
header("Location: index.php");
}
?>
pues asi es mas seguro

ademas las funciones :
session_register
session_is_registered

son obsoletas!! desde PHP 5.3.0. Su uso está totalmente desaconsejado.




saludos!!

Última edición por zerpico_01; 18/06/2010 a las 00:34
  #6 (permalink)  
Antiguo 18/06/2010, 16:46
 
Fecha de Ingreso: marzo-2009
Mensajes: 91
Antigüedad: 15 años, 7 meses
Puntos: 1
Respuesta: Problemas de sessiones session_start()

Cita:
ademas las funciones :
session_register
session_is_registered

son obsoletas!! desde PHP 5.3.0. Su uso está totalmente desaconsejado.



saludos!!

Gracias por contestar zerpico_01!

Te agradezco el script, me sirvio para darme cuenta de algunas cosas. Te hago una consulta.
Que reemplazaria a session_register() y session_is_registered() en php5.3

Tendrias algun link que den bien algun tutorial de php5.3?


SAludos!.


EDIT:::TENGO OTRA CONSULTA:

Si me estas diciendo que esas funciones ya no son aconcejables...entonces session_unregister() tambien lo es?

Como elimino una session si no utilizo session_unregister()???

Última edición por fackius; 18/06/2010 a las 17:25

Etiquetas: sesiones
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 22:13.