Foros del Web » Programando para Internet » PHP »

utilizar session como array

Estas en el tema de utilizar session como array en el foro de PHP en Foros del Web. Hola que tal, tengo un formulario para subir varios archivos y si uno no cumple una condición muestra un error y si se producen varios ...
  #1 (permalink)  
Antiguo 24/07/2012, 15:09
 
Fecha de Ingreso: agosto-2009
Mensajes: 292
Antigüedad: 14 años, 8 meses
Puntos: 5
utilizar session como array

Hola que tal, tengo un formulario para subir varios archivos y si uno no cumple una condición muestra un error y si se producen varios errores los mostraba pero cambie la forma de hacerlo y si por ejemplo hay mas de 1 error solo muestra 1

Código PHP:
      foreach($message as $error) {
      
$_SESSION['status_upload'] = $error;
      } 
Código PHP:
<?php

session_start
();

if(isset(
$_SESSION['status_upload'])) {
    if(!isset(
$_SESSION['count'])) {
        
$_SESSION['count'] = 0;
    } else {
        
$_SESSION['count']++;
    }
    
    if(
$_SESSION['count'] == 2) {
        unset(
$_SESSION['count']);
        unset(
$_SESSION['status_upload']);
    } else {
        echo 
$_SESSION['status_upload'];
    }
}

?>
Antes si hacia echo a la variable $error mostraba todos los errores y ahora así solo me muestra 1, alguien sabe a que se debe?

Saludos y gracias de antemano
  #2 (permalink)  
Antiguo 24/07/2012, 15:17
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: utilizar session como array

1. Estás sobreescribiendo dentro de tu bucle la misma variable con un solo valor, eso explica porque muestra el último.

2. De por si no necesitas iterar, ya que $message ha de ser un array, así que una asignación simple debería funcionar.
Código PHP:
// MAL
      
foreach($message as $error) {
      
$_SESSION['status_upload'] = $error;
      }

// BIEN
$_SESSION['status_upload'] = $message
3. Al ser un array, o eso intentas, no puedes imprimir como si fuera cadena.
Código PHP:
// MAL
echo $_SESSION['status_upload']; // eso imprime Array

// BIEN
foreach ($_SESSION['status_upload'] as $foo) {
  echo 
"ERROR: $foo<br>";

__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 24/07/2012, 16:48
 
Fecha de Ingreso: agosto-2009
Mensajes: 292
Antigüedad: 14 años, 8 meses
Puntos: 5
Respuesta: utilizar session como array

Muchas gracias por tu ayuda pateketrueke

Saludos!

Etiquetas: formulario, session, variables
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 15:15.