Pagina 2 di 3 primaprima 1 2 3 ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 22
  1. #11
    Perdonami, ma provando con le versioni 4.2.x, 4.3.x e 4.3.x si comporta sepre allo stesso modo! Sbagliato, a mio e tuo avviso, ma sempre lo stesso.

    Con che versione non avevi questo comportamento?
    "Le uniche cose che sbagli sono quelle che non provi a fare."
    Atipica

  2. #12
    Originariamente inviato da piero.mac
    Buona la proposta di BUBU...

    e' meglio usare questo sistema perche' $_SESSION ha delle proprieta' particolari... usando le funzioni di array intersect si rischia di trasferire queste proprieta' all'array di destinazione, oppure peggio di privare $_SESSION delle sue peculiarita' trasferendo a questo valenza di array "vulgaris"....

    una alternativa, ma sostanzialmente identica, a quanto proposto da bubu potrebbe essere:
    codice:
    foreach($_SESSION as $key)   {
      
      if($key == 'salva1' OR $key == 'salva2' )  {
        
        continue;     }
        
        else {  unset($_SESSION[$key]);     }

    Si.. le soluzioni di Bubu e PieroMac sono perfette direi..! Ora le testo..

    Per quanto riguarda il discorso del tipo di gestione delle variabili..

    Se tu gestisci i dati singolarmente per indice tutto OK, gestiti invece a livello complessivo di array sembrerebbe che questo indice cosi' trasferito in $_SESSION perda la registrazione in sessione o meglio, acquisisca oltre ai dati anche le caratteristiche dell'array stesso che viene trasferito (che non e' registrato).
    al momento uso settarle singolarmente quindi non dovrebbero esserci problemi... ma non è detto che in futurò proverò la gestione complessiva... quali sarebbero i vantaggi?

    grazie ciao Ste

  3. #13
    Originariamente inviato da Shores
    Perdonami, ma provando con le versioni 4.2.x, 4.3.x e 4.3.x si comporta sepre allo stesso modo! Sbagliato, a mio e tuo avviso, ma sempre lo stesso.

    Con che versione non avevi questo comportamento?
    fino alla versione 5.0.3 (quindi tutte da quando fu introdotto l'array superglobale in 4.1.0) si comportava allo stesso modo. Dalla versione >= 5.0.4 invece si ha l'effetto che ho descritto.

    mi pareva di averla detta chiaramente la versione.....

    preciso ancora meglio.... fino alla versione 5.0.3 l'array $_SESSION manteneva "sempre" la sua caratteristica (array sempre registrato in sessione), dalla versione 5.0.4 in poi se passi un intero array a $_SESSION le chiavi / valori passate NON risultano registrate in sessione, e quindi NON vengono serializzate nel file relativo......

    La prossima la scrivo in austro-ungarico....


    @stafanoi ... nessun vantaggio.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  4. #14
    Originariamente inviato da piero.mac
    fino alla versione 5.0.3 (quindi tutte da quando fu introdotto l'array superglobale in 4.1.0) si comportava allo stesso modo. Dalla versione >= 5.0.4 invece si ha l'effetto che ho descritto.

    mi pareva di averla detta chiaramente la versione.....

    preciso ancora meglio.... fino alla versione 5.0.3 l'array $_SESSION manteneva "sempre" la sua caratteristica (array sempre registrato in sessione), dalla versione 5.0.4 in poi se passi un intero array a $_SESSION le chiavi / valori passate NON risultano registrate in sessione, e quindi NON vengono serializzate nel file relativo......

    La prossima la scrivo in austro-ungarico....


    @stafanoi ... nessun vantaggio.
    C'è qualcosa che non torna: io ho appena provato con la 4.2.x la 4.3.x e la 4.4.x e in tutti e tre i casi si è comportato come nella 5.1.4, ovvero $_SESSION non è più registrato dopo la $_SESSION=array(...) ...

    :master:
    "Le uniche cose che sbagli sono quelle che non provi a fare."
    Atipica

  5. #15
    Originariamente inviato da Shores
    C'è qualcosa che non torna: io ho appena provato con la 4.2.x la 4.3.x e la 4.4.x e in tutti e tre i casi si è comportato come nella 5.1.4, ovvero $_SESSION non è più registrato dopo la $_SESSION=array(...) ...

    :master:
    Sei su windows o su LINUX?

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  6. #16
    Originariamente inviato da piero.mac
    Sei su windows o su LINUX?
    Su Windows XP SP2.
    "Le uniche cose che sbagli sono quelle che non provi a fare."
    Atipica

  7. #17
    Originariamente inviato da Shores
    C'è qualcosa che non torna: io ho appena provato con la 4.2.x la 4.3.x e la 4.4.x e in tutti e tre i casi si è comportato come nella 5.1.4, ovvero $_SESSION non è più registrato dopo la $_SESSION=array(...) ...

    :master:
    aspetta .... che qui stiamo prendendo la mucca per le palle.....

    $_SESSION = array();

    ti resetta $_SESSION da sempre. Non e' mica questo che ti sto dicendo ....

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  8. #18
    Originariamente inviato da piero.mac
    aspetta .... che qui stiamo prendendo la mucca per le palle.....

    $_SESSION = array();

    ti resetta $_SESSION da sempre. Non e' mica questo che ti sto dicendo ....
    Pensavo fosse chiaro che quei puntini di sospensione volevan dire che c'eran delle cose, lì dentro...

    $_SESSION = array("uno","due","tre");
    "Le uniche cose che sbagli sono quelle che non provi a fare."
    Atipica

  9. #19
    mi sa che gli indici numerici abbiano poca fortuna con $_SESSION.......

    Guarda .. tanto per provare cosa intendo dire .... tre file a-b-c ho messo giu' alcune righe... ora provando riscontro un comportamento ancora diverso dal rilascio 5.0.5 ... provo con 5.1.2 .... ma sono proprio fuori di testa questi del php... comunque ecchie qua:

    Codice PHP:
    bug_a.php

    <?php
    session_start
    ();

    $_SESSION = array();    // partiamo puliti

    echo "Pagina bug_a con form 

          <form method = 'POST' action = 'bug_b.php'>
          <input type='text' name='ciccio' value='pippo'>

          <input type = 'checkbox' name= 'check' value ='box'>
          <input type = 'submit' name='submit'>
         "
    ;

    echo 
    "<pre> contenuto di _SESSION
    "
    ;

    print_r($_SESSION);
    ?>
    2° pagina
    Codice PHP:
    bug_b.php

    <?php
    session_start
    ();

    if(!empty(
    $_POST)) {
        echo 
    "<pre>Sono pagina b e _POST e' valorizzato 
    "
    ;
        
    // cosa contiene $_POST
        
    echo "
    Pag_b.php - contenuto di _POST 
    "
    ;
        
    print_r($_POST);
        
        
    //  valorizziamo  $_SESSION con il contenuto di $_POST  di botto array to array
        
    $_SESSION $_POST;
    }

    // vediamo cosa contiene $_SESSION
    echo "<pre>Pag_b.php - contenuto di _SESSION 
    "
    ;
    print_r($_SESSION);


    echo 
    "<a href=\"bug_c.php\">to page 3</a>";
    ?>
    pagina 3
    Codice PHP:
    bug_c.php

    <?php
    session_start
    ();

    if(!empty(
    $_SESSION)) {
        echo 
    "<pre>sono pagina bug_c con _SESSION valorizzato 
    "
    ;
        
    print_r($_SESSION);
        }  else {

                 echo 
    "<pre>Pag_c.php _SESSION e' vuoto 
    "
    ;
                 
    print_r($_SESSION);    }

    echo 
    "<a href=\"bug_a.php\">to page 1</a>";
    ?>
    La sessione in pagina 3 e' vuota. Ma solo a partire dalla versione 5.0.4 e forse dalle ultime 4.4.x visto che le modifiche avvenivano a braccetto...

    Questo era il problema.... La stessa cosa succede se invece di passare _POST passi per esempio $_ciccio...
    codice:
           $_ciccio = array('uno' => '1', 'due' => '2');
           $_SESSION = $_ciccio;
    sto vedendo alcune cose che trovo allucinanti... ora provo e poi ti dico per bene (se ci riesco)

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  10. #20
    Anzi... mentre ci sono le prove le faro' su php 5.1.4 ...

    Appena posso...


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

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 © 2026 vBulletin Solutions, Inc. All rights reserved.