Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    stranezza su versioni php diverse

    Non riesco a capire perchè un sito a cui sto lavorando mi perde una variabile di sessione (solo una.. l'altra che ho resta valorizzata correttamente) sul server [php 4.4.1] e invece funziona alla perfezione in locale [5.qualcosa ]

    La variabile è un array, e le operazioni che ci svolgo su sono:
    - se serve aggiungo una chiave->valore
    - ci ciclo su elaborando tutte le chiave->valore che contiene....

    il punto è che se ricarico la pagina e metto una stampa di debug ad inizio pagina me la trova vuota.. e infatti se c'è da aggiungere una nuova chiave allora me la crea in quel monento e poi nel foreach elabora solo quella..... altrimenti non elabora un bel niente.....

    Qualche indizio? davvero non capisco... oltretutto una variabile molto simile (ci faccio le stesse operazioni) funziona alla perfezione sia in locale che in remoto...

  2. #2
    Utente di HTML.it L'avatar di mark2x
    Registrato dal
    Nov 2005
    Messaggi
    1,940
    A me il PHP 4.3 perdeva qualche GET, se ti può consolare...

    Ma non mi chiedere il perchè.

    [.:: JaguarXF ::.]
    __________________

  3. #3
    ok... scoperto

    una variabile interna ha lo stesso nome che uso per una variabile in GET (mica me ne ero accorto)... in locale ho il register globals disattivato.. in remoto no.. quindi interferiscono tra loro n modi che non voglio manco scoprire.. rinomino subito

  4. #4
    gia' segnalato almeno un paio di volte....

    probabilmente tu passi l'array come facevo io.

    $_SESSION = $array_tuo;

    Pare che in questo modo $_SESSION prenda anche le caratteristiche di $array_tuo e perda le sue. Se dichiari globale $array_tuo e riprovi dovrebbe funzionare.

    Personalmente ho risolto con un foreach e va bene. Non capisco perche' tu dica che passare i dati con il ciclo non funzioni.

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

  5. #5
    Originariamente inviato da }gu|do[z]{®©
    ok... scoperto

    una variabile interna ha lo stesso nome che uso per una variabile in GET (mica me ne ero accorto)... in locale ho il register globals disattivato.. in remoto no.. quindi interferiscono tra loro n modi che non voglio manco scoprire.. rinomino subito
    guidozz... ma che azzo c'entrano le variabili di sessione con il GET... :master:

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

  6. #6
    era un altro il problema.. era molto più fagiano...

    a questo punto mi chiedo se non sia meglio sviluppare con il register globals on in locale (pur continuando ad usare solo gli array superglobali) in modo da accorgersi subito di eventuali variabili che hanno lo stesso nome in caso di register globals atttivato.. e non rischiare di distribuire qualche script così

  7. #7
    Originariamente inviato da piero.mac
    guidozz... ma che azzo c'entrano le variabili di sessione con il GET... :master:


    $omaggi = explode('-',$_SESSION['omag']["$prodotto"]);
    foreach($omaggi as $omag)
    {
    //bla bla bla
    }


    e in get i arrivava anche $_GET['omag']

    il problema è che con il register global on ho tre variabili $omag...

    non so nel dettaglio come (e non mi interessa) ma pasticciavano tra di loro.. rinominate va tutto ^_^

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.