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

    Esecuzione di codice php fra browser differenti

    Scusate la domanda magari strana oppure banale (vedi titolo), ma il codice php non viene INTERAMENTE elaborato dal server?

    Perché se è così allora non capisco come sia possibile che un test di uguaglianza fra stringhe, una recuperata correttamente come variabile di sessione (ho controllato e facendo un echo è giusta) e l'altra definita nel codice, restituisca TRUE su Safari, Firefox, etc e FALSE su Internet Explorer.

    Ripeto, magari è una cretinata, ma sto impazzendo.

    Qualcuno ha qualche idea?

    Grazie,
    Alessandro


    PS per il moderatore: chiedo scusa per il titolo generico, volevo volare al testo e a una risposta

  2. #2
    manca codice html generato e codice php usato
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  3. #3
    Sbadato....

    Cominciamo col dire che l'utente seleziona la provincia da un menù a tendina popolato tramite un file txt
    codice:
    <select name="provincia" style="width:240px">
    <option value="scegliere">Selezionare una provincia</option>
    <option value="scegliere">---------------------------------</option>
    <?php
    	while( !feof( $fileprovince ) ){
    		$prov = fgets( $fileprovince ) ;
    		echo( "<option value=\"$prov\">$prov</option>" ) ;
    	}
    	fclose( $file ) ;
    ?>
    </select>
    il valore di provincia viene memorizzato in una variabile di sessione così
    codice:
    $provincia = $_POST['provincia'] ;
    $_SESSION['provincia'] = is_null( $provincia ) ? '' : $provincia ;
    Nel file referenziato dalla action del form della pagina precedente cerco di capire "dove mi trovo"
    codice:
    <?php
    session_start() ;
    $prov = $_SESSION['provincia'] ;
    $campania =  ( $prov == "Avellino" || $prov == "Benevento" || $prov == "Caserta" || $prov == "Napoli" || $prov == "Salerno" )  ;
    if( $campania ) echo 'siamo in Campania' ;
    else 'non siamo in Campania' ;
    exit();
    ?>
    Ora scelta una delle province campane, Firefox e Safari restituiscono correttamente "siamo in Campania". Internet Explorer NO. VVoVe:

    Lo so che qualcuno starà pensando 'ovvio, non lo sai che....' ...beh, non lo so.
    Ma vi scongiuro, ditemelo !

    Grassie, Ale

  4. #4
    in entrambe le pagine prova a stampare l'id di sessione e controlla che siano =

    probabilmente c'è un problema di propagazione

  5. #5
    Ho controllato e i due ID coincidono. Inoltre avevo dato un nome alla sessione e lo controllo su ogni pagina per verificare che non sia scaduta e non lo è.

    Ma poi non capisco scusa: se fosse un problema di propagazione, perché solo IE ne soffre?

    Perché quello che mi fa imbestialire ( ) è che ho anche pensato al formato di lettura del file esterno, al fatto che potesse introdurre un carattere ad esempio di fine riga particolare e che rendesse falso il match con la stringa cablata nel codice. Ma tutto ciò avviene comunque a livello del server (vero?) e quindi dovrebbe affliggere TUTTi i browser non solo "il peggiore"ma ahimé più diffuso.

    Grazie ancora.

    ale

  6. #6
    Originariamente inviato da apesys
    Ma poi non capisco scusa: se fosse un problema di propagazione, perché solo IE ne soffre?
    perché l'id viene propagato principalmente con i cookie e i cookie li gestisce il browser

    sfortunatamente non è il tuo problema
    hai register global su on?
    è una possibilità remota ma avvolte se ci sono variabili con il solito nome (tra quelle di sessione e non) con on si sovrascrivono

    ciao

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.