Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Problemas al sobrescribir variable de sesión

Estas en el tema de Problemas al sobrescribir variable de sesión en el foro de PHP en Foros del Web. Muy buenas, estoy teniendo un problemilla con un tema basico pero me esta trayendo auténticos dolores de cabeza. La cuestión es que estoy intentando sobrescribir ...
  #1 (permalink)  
Antiguo 02/02/2013, 14:15
Avatar de migue1891  
Fecha de Ingreso: enero-2012
Mensajes: 50
Antigüedad: 12 años, 2 meses
Puntos: 0
Problemas al sobrescribir variable de sesión

Muy buenas, estoy teniendo un problemilla con un tema basico pero me esta trayendo auténticos dolores de cabeza.

La cuestión es que estoy intentando sobrescribir una variable de sesión a traves de la opción elegida en un formulario, esta variable tiene un valor inicial, al ejecutar el formulario la sobrescribo pero el cambio solo permanece hasta que actualizo la pagina, y como tengo artículos que van ordenados a traves de la opción cuando paso a la siguiente pagina vuelven a ordenarse como estaba por defecto.

Alguna idea de que puedo estar haciendo mal, o una solución mejor?.

Muchisimas gracias de antemano. Un saludo
  #2 (permalink)  
Antiguo 02/02/2013, 14:25
Avatar de ipraetoriux  
Fecha de Ingreso: abril-2010
Ubicación: ipraetoriux.com
Mensajes: 1.125
Antigüedad: 13 años, 11 meses
Puntos: 154
Respuesta: Problemas al sobrescribir variable de sesión

...estas usando el session_start() en la pagina siguiente?...como estas haciendo para sobre escribar la variable de session desde el formulario? usando ajax? si usas ajax, en el archivo PHP estas usando session_start(); ??
  #3 (permalink)  
Antiguo 02/02/2013, 14:28
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Problemas al sobrescribir variable de sesión

solucion mejor ..... bueno podrias usar cookies
  #4 (permalink)  
Antiguo 02/02/2013, 14:44
Avatar de migue1891  
Fecha de Ingreso: enero-2012
Mensajes: 50
Antigüedad: 12 años, 2 meses
Puntos: 0
Respuesta: Problemas al sobrescribir variable de sesión

Si, estoy usando session_star en la pagina. Pero el problema no hay "una pagina siguiente" Mi intención es tener los artículos ordenados por precio por defecto por ejemplo, y cuando seleccione novedades me los ordene por esta (Eso lo tengo conseguido), el tema es que cuando comienza la siguiente pagina de artículos, (Que es la misma en realidad, pero con un paginado que lo que hace es una nueva llamada a la base de datos con los siguientes artículos y los presenta en la misma pagina, pero sin ajax recargándose entera.

Tengo un documento solo para inicializar la Var $_Session..

Código PHP:
Ver original
  1. $_SESSION['orden']="precio";

Esto lo incluyo en la pagina principal con include("...");

Estoy sobrescribiendo la variable desde el documento directamente de tal forma

Código PHP:
Ver original
  1. if(isset($_POST['orden'])){
  2.     $_SESSION['orden'] = $_POST['orden'];
  3.         }


Muchas gracias, Un saludo
  #5 (permalink)  
Antiguo 02/02/2013, 14:52
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Problemas al sobrescribir variable de sesión

metelo en el include

Código PHP:
Ver original
  1. if(isset($_POST['orden']))
  2. {
  3.     $_SESSION['orden'] = $_POST['orden'];
  4. }
  5. else
  6. {
  7.     if(! isset($_SESSION['orden'])
  8.     {
  9.         $_SESSION['orden']="precio";
  10.     }
  11. }

y en el documento

Código PHP:
Ver original
  1. <?php
  2.  
  3.  
  4. include'session_orden';
  5.  
  6. echo $_SESSION['orden'];
  7.  
  8. ?>

y verifica que imprime correctamente el valor

Última edición por webankenovi; 02/02/2013 a las 15:01
  #6 (permalink)  
Antiguo 02/02/2013, 15:55
 
Fecha de Ingreso: febrero-2013
Mensajes: 17
Antigüedad: 11 años, 1 mes
Puntos: 2
Respuesta: Problemas al sobrescribir variable de sesión

¿Y porque no controlas la variable con un if?, ya veras:

session_start();

$nombre = $_POST['nombre'];

if($nombre == ""){
$_SESSION['name'] = "Invitado";
}elseif($nombre == $idDB){
$_SESSION['name'] = $nombre;
}else{
$_SESSION['name'] = "Invitado";
};

$idDB hace referencia a si el usuario existe en la base de datos o puedes ponerle si usuario y clave coinciden, etc... hay te toca juguetear como prefieras...
  #7 (permalink)  
Antiguo 02/02/2013, 16:42
Avatar de migue1891  
Fecha de Ingreso: enero-2012
Mensajes: 50
Antigüedad: 12 años, 2 meses
Puntos: 0
Respuesta: Problemas al sobrescribir variable de sesión

Muchisimas gracias webankenovi había provado con todo, pero ahora me doy cuenta el problema de lógica que estaba teniendo.

David no he provado con tu solución por que ya lo solucione pero gracias por preocuparte.

Un saludo.
  #8 (permalink)  
Antiguo 02/02/2013, 18:55
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Problemas al sobrescribir variable de sesión

te faltaba verificar si ya existia una session previa mediante el form , de existir y no recibir petición alguna continua sin cambios , si existiera petición sobrescribimos y si es la 1 vez que visitan y/o borra la cache entonces usaremos precio como orden por default

las ventajas con cookies es que si un usuario vuelve a los dias la web seguira recordando su orden mientras no halla borrado la cache/cookies .

saludos un placer

Etiquetas: formulario, sesión
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 09:07.