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

    Array serialize & unserialize

    Lo stesso codice in alcune pagine del mio sito funziona, l'array serializzato è inserito in un campo MySql, viene ripreso, inserito di nuovo nell'array $a e poi ci vengono fatte delle operazioni.

    Se lo ripeto in un altra pagina non succede nulla, l'echo non viene mostrato ed il ciclo saltato completamente.
    Cosa mi sta sfuggendo?

    Codice PHP:
    $cod_prodotti="a:3:{i:1989;s:1:'1';i:2581;s:1:'1';i:507;s:1:'1';}";
       
    $a=unserialize($cod_prodotti);
                
    $item_count=0;
            foreach (
    $a as  $key => $value)
            {    
                
    $item_count++;
                            echo
    "Ecco! $item_count";
                
            } 

  2. #2
    Utente di HTML.it L'avatar di neroux
    Registrato dal
    Aug 2009
    Messaggi
    1,973
    Da dove ottiene a:3:{i:1989;s:1:'1';i:2581;s:1:'1';i:507;s:1:'1';} ?

    www.sitemeer.com » Quando un sito pare irraggiungibile

    Se ti piace ci puoi trovare anche su Facebook

  3. #3
    Scommetto che non applichi stripslashes() alla stringa restituita da MySQL, vero?

  4. #4
    Originariamente inviato da neroux
    Da dove ottiene a:3:{i:1989;s:1:'1';i:2581;s:1:'1';i:507;s:1:'1';} ?
    Nelle pagine dove funziona la prima volta da un session array :

    $a=unserialize($_SESSION['carrelletto']);



    la seconda dal campo di un db :

    $cod_prodotti=$riga["cod_prodotti"];

    poi di seguito lo stesso codice.

  5. #5
    Originariamente inviato da filippo.toso
    Scommetto che non applichi stripslashes() alla stringa restituita da MySQL, vero?
    Esatto mai, ma negli altri casi funziona sempre

  6. #6
    Originariamente inviato da Sergio L
    Esatto mai, ma negli altri casi funziona sempre
    Perchè non provi applicando stripslashes() ?

    Se non capisci per quale motivo negli altri casi funziona sempre è sufficiente che apri il manuale e leggi che cosa fa stripslashes().

  7. #7
    Originariamente inviato da filippo.toso
    Perchè non provi applicando stripslashes() ?

    Se non capisci per quale motivo negli altri casi funziona sempre è sufficiente che apri il manuale e leggi che cosa fa stripslashes().
    Strippa le Slashes Ovvero toglie le barre, non capisco che c'entri, ma se me lo dici evidentemente un motivo c'è, provo poi ti dico.

  8. #8
    Codice PHP:
    $cod_prodotti="a:3:{i:1989;s:1:'1';i:2581;s:1:'1';i:507;s:1:'1';}"
        
    $a=stripslashes(unserialize($cod_prodotti));
                
    $item_count=0
            foreach (
    $a as  $key => $value
            {     
                
    $item_count++; 
                            echo
    "Ecco! $item_count"
                 
            } 
    Nada

  9. #9
    Utente di HTML.it L'avatar di neroux
    Registrato dal
    Aug 2009
    Messaggi
    1,973
    Originariamente inviato da Sergio L
    la seconda dal campo di un db :

    $cod_prodotti=$riga["cod_prodotti"];

    poi di seguito lo stesso codice.
    E come scriva il campo cod_prodotti? Chiedo perché serialize() usa " e non '

    Codice PHP:
    $cod_prodotti='a:3:{i:1989;s:1:"1";i:2581;s:1:"1";i:507;s:1:"1";}'

    www.sitemeer.com » Quando un sito pare irraggiungibile

    Se ti piace ci puoi trovare anche su Facebook

  10. #10
    Scrivendo codice a caso difficilmente otterrai un risultato.

    Ti è stato suggerito di applicare stripslashes() alla stringa restituita da MySQL, NON di applicarlo al risultato di unserialize() ...

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.