Problema con sessione PHP

Salve a tutti

sto creando uno script x l'upload/resize delle immagini in modo proporzionale

e ci sono riuscito

in pratica ogni qual volta che effettuo l'upload [mi crea 2 immagini una thumb e una large] ho un array (cioè $_SESSION['pic'] = array()  che deve essere incrementato con le immagini caricate. E il mio problema sta proprio qui, che nn m incrementa l'array ma è come se ad ogni click, o request

lo ricreasse nuovamente, alla fine ho sempre un array con 2 immagini (ovvero le ultime caricate!)

il codice è:

<?php

   $up = new upload();
   $img = new img();

   if(!isset($_SESSION['n']))
   { 
      $_SESSION['pic'] = array();
      
   }else{

      echo "<script>alert('array esistente!');</script>";   
   
   }

   
   if(isset($_POST['invia']) && $_POST['invia'] == 'Invia')
   {         
      
      $carica = $up->upload($_FILES['img']);
      if($carica['esito'] == 1)
      {
         $id_img = $data->giveMeLastId(IMG_TABLE);
         $img = $img->createImg($carica, $id_img);

         $_SESSION['n'] = 1;
         
         for($i=0; $i<count($img); $i++)
         {
            array_push($_SESSION['pic'], $img[$i]); 
            
         }
      }else{
      
         echo $carica['msg'];
      }
   
   }
   
   
?> 

sicuramente sarà un errore stupido, ma credetemi è tutto il pomeriggio che ci sbatto la testa e nn so dove sia il problema! :'(

inviato 5 anni fa
RainboxSix
X 0 X

Qui:

   if(!isset($_SESSION['n']))

Non verifica il valore booleano della variabile, verifica solamente se è impostata o meno quella variabile, è può essere che non lo sia per una qualche ragione, reimpostando così l'altro array.

Ti suggerisco due cose che a me sono utili: usare nomi di variabili esplicative per quello che devono contenere, invece di usare i numeri per le variabili booleane usare direttamente il "true" o il "false" che per una persone può essere più logico.

Ciao

risposto 5 anni fa
Mario Santagiuliana
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda