Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1

    serialize unserialize, argomento non valido

    Giorno...

    ho un problema che spero sia banale, prendo dei dati da una select multipla, li serializzo e li salvo in un campo del db.

    Quando vado ad estrarre il campo e lo passo ad unserialize per riutilizzare l'array iniziale, mi dice: argomento non valido....

    Da alcune prove (è una select multipla di province), questo avviene solo se si seleziona anche "L'aquila", e sembra essere quell'apostrofo a rompere le uova nel paniere, nella serializzazione nessun problema, fa tutto e salva tutto in maniera corretta, il problema esiste nella deserializzazione.

    Chi di voi sa darmi una mano per risolvere sto problema?

    PS: ovviamente se metto "Aquila" al posto di "L'Aquila", funziona tutto

    Grazie

    SK

  2. #2

  3. #3
    Originariamente inviato da filippo.toso
    Applica stipslashes() prima di unserialize().
    anche se l'array serializzato non ha nessun slashes, nel senso, nel db e nella stampata a video non vedo "L\'Aquila"?

  4. #4
    Perhè invece di perdere tempo postando un messaggio non provi semplicemente quanto suggerito?

  5. #5
    Originariamente inviato da filippo.toso
    Perhè invece di perdere tempo postando un messaggio non provi semplicemente quanto suggerito?
    Perchè avevo gia provato e non sortiva alcun effetto, ci ho riprovato anche adesso, ma idem come sopra.

  6. #6
    Applica var_dump() alla variabile che passi come parametro a unserialize() e posta qui il risultato.

  7. #7
    mi da NULL

    quindi non la vede?

    Ma c'è.

  8. #8
    Se var_dump() restituisce NULL ci sono due alternative: o la variabile NON è definita oppure è valorizzata a NULL.

    Ti suggerisco di abilitare la visualizzazione di tutti gli errori e notice e verificare il corretto funzionamento del tuo codice.

  9. #9
    questa è la funzione

    codice:
    	//funzione che controlla le stringhe serializzate
    	function confronta_stringhe($valore,$campo){
    			
    		if($campo!=''){
    			
    			$deserialize = unserialize($campo);
    			  foreach ($deserialize as $elementi){
    				  //echo $elementi ;
    				  //echo $valore;
    				  if($elementi==$valore){
    				  return true;
    				  }
    			  }
    		}else{
    			return false;
    		
    		}
    		
    		
    	}

  10. #10

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.