Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it L'avatar di telegio
    Registrato dal
    Sep 2001
    Messaggi
    2,592

    condizione non funzionante

    che differenza c'è tra questi due script?

    Codice PHP:
    <?php if ($_GET['lang'] == 'ita'?>
           <?php ?>
            <?php echo "le camere"?>
        <?php ?>
        <?php else if ($_GET['lang'] == 'eng'?>
        <?php ?>
        <?php echo "rooms"?>
        <?php ?>
    Codice PHP:
     <?php if ($_GET['lang'] == 'ita')
           { 
            echo 
    "le camere";
            }
         else if (
    $_GET['lang'] == 'eng')
         { 
             echo 
    "rooms";
         } 
    ?>
    ...e sopratutto perchè il secondo funziona e il primo no...

  2. #2
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    forse, dico forse...

    codice:
     <?php else if ($_GET['lang'] == 'eng') ?>
        <?php { ?>
    funziona solo se metti la graffa sulla stessa linea dell'elseif...

    Comunque ti prego non scrivere il codice come nel primo caso...

    ciao

  3. #3
    Utente di HTML.it L'avatar di telegio
    Registrato dal
    Sep 2001
    Messaggi
    2,592
    ...no.. non funziona nemmeno in quel caso...

    era solo una prova, perchè ero sicuro funzionasse visto che non ci dovrebbe essere differenza...
    ora mi sono incaponito, come si dice a roma...
    non funziona nemmeno così...

    Codice PHP:
     <?php if ($_GET['lang'] == 'ita') { ?>
            <?php echo "le camere"?>
        <?php ?>
        <?php else  { ?>
        <?php echo "rooms"?>
        <?php ?>

  4. #4
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    vabbè non avevo controllato bene, comunque il problema è la separazione del blocco if dalle graffe.

    ecco come funziona:

    codice:
    <?php if ($_GET['lang'] == 'ita') {?>
    <?php echo "le camere"; ?>
    <?php } elseif ($_GET['lang'] == 'eng') {?>
    <?php echo "rooms"; ?>
    <?php } ?>
    Per come avevi scritto tu, il parser php che legge dall'alto verso il basso trovava subito un if
    che viene aperto e chiuso, poi trova un else che non può essere legato a nessun blocco if aperto...

    ciao

  5. #5
    Originariamente inviato da gianiaz
    Per come avevi scritto tu, il parser php che legge dall'alto verso il basso trovava subito un if
    che viene aperto e chiuso, poi trova un else che non può essere legato a nessun blocco if aperto...

    ciao
    Corretto. Credo anche che scrivendo:

    else if <- staccato da uno spazio

    in realta' non venga eseguito un "switch" elseif, ma che venga eseguita una if annidata nell'else. Non e' propriamente la stessa cosa.

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

  6. #6
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    Originariamente inviato da piero.mac
    Corretto. Credo anche che scrivendo:

    else if <- staccato da uno spazio

    in realta' non venga eseguito un "switch" elseif, ma che venga eseguita una if annidata nell'else. Non e' propriamente la stessa cosa.
    nel mio codice l'ho corretto senza pensarci, ma in effetti la tua considerazione è corretta, grazie per la precisazione

  7. #7
    Utente di HTML.it L'avatar di telegio
    Registrato dal
    Sep 2001
    Messaggi
    2,592
    grazie ad entrambi..
    pura curiosità..

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.