Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2000
    Messaggi
    727

    ANALISI di una ELSE-IF che lavora in modo "STRANO"...

    ciao a tutti, sto diventando matto a capire come mai questa mia ELSE-IF mi fa degli scherzi strani, eccola-->

    <?
    if ("$array[sottocategoria]" == nativita) {
    echo "index";
    } elseif ("$array[sottocategoria]" == buddha) {
    echo "index";
    } elseif ("$array[sottocategoria]" == rugby) {
    echo "index";
    } elseif ("$array[sottocategoria]" == personemiste) {
    echo "misti";
    } elseif ("$array[sottocategoria]" == carabinieri) {
    echo "index";
    } elseif ("$array[sottocategoria]" == biglietti_auguri) {
    echo "biglietti_inviti";
    } elseif ("$array[sottocategoria]" == onomastico) {
    echo "index";
    } elseif ("$array[sottocategoria]" == esercizi_scrittura) {
    echo "eserciziscrittura";
    } elseif ("$array[sottocategoria]" == carrozze) {
    echo "index";
    } elseif ("$array[sottocategoria]" == illusioni-ottiche) {
    echo "index";
    } elseif ("$array[sottocategoria]" == antichi) {
    echo "index";
    } elseif ("$array[sottocategoria]" == meraviglie) {
    echo "meraviglie_mondo";
    } elseif ("$array[sottocategoria]" == regioni_italia) {
    echo "cartine_regioni_italia";
    } elseif ("$array[sottocategoria]" == statiuniti) {
    echo "stati_uniti";
    } elseif ("$array[sottocategoria]" == addobbi) {
    echo "addobbi_natale";
    } elseif ("$array[sottocategoria]" == campane) {
    echo "campanelle_natale";
    } elseif ("$array[sottocategoria]" == ghirlande) {
    echo "ghirlande_natale";
    } elseif ("$array[sottocategoria]" == mandala) {
    echo "forme_geometriche";
    } elseif ("$array[sottocategoria]" == sudoku) {
    echo "index";
    } else
    {
    echo "$array[sottocategoria]";
    }
    ?>.php">

    cosa fa di strano? se la SOTTOCATEGORIA NON è una di quelle inserite nel codice qua sopra, invece di scriverla semplicemente... come dovrebbe (echo "$array[sottocategoria]", lei scrive INDEX....
    come mai? un enorme grazie in anticipo a chi mi aiuterà a capire il mistero!!

  2. #2
    scusa ma quello è il codice col copia e incolla o hai scritto male al volo?
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  3. #3
    Utente di HTML.it L'avatar di leaf
    Registrato dal
    Oct 2012
    Messaggi
    316
    non sono sicuro di aver capito ma "$array[sottocategoria]" è una stringa e NON il valore che contiene l'array alla chiave sottocategoria..

    sposta i ""

    codice:
    $array["sottocategoria"]
    ti restituisce il valore associato alla chiave "sottocategoria"

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2000
    Messaggi
    727
    x santino: è il codice copiato e incollato... perchè?
    x leaf: grazie per la risposta, ho provato a spostare i "" ma non è cambiato nulla: se ad esempio il php riceve i dati della sottocategoria PIPPO lui invece di scrivermi pippo.php con quella else-if mi scrive index.php.... grrrrrrr
    ed il bello è che dopo alcune righe nella pagina c'è da solo:
    <?print "$array[sottocategoria]"?>
    e il pho che due righe sopra mi scrive index.php qui mi scrive pippo.php...............

  5. #5
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    1) usa sempre il tag <?php e non lo shortcode <?

    2) a meno che non siano delle costanti, metti gli apici attorno alle stringhe dopo gli ==

    3) metti gli apici alle chiavi degli array, sono stringhe anche quelle, php te la lascia passare, ma meglio essere corretti e rispettare la sintassi

    4) i doppi apici attorno ai vari "$array[...]" non servono a niente, toglili, anche nell'ultimo echo.

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2000
    Messaggi
    727
    AHHHHHHHHHHHHHHHH ho scoperto il motivooooo-->
    è il trattino - che fa ancdare in pappa tutto dopo di lui--->
    } elseif ("$array[sottocategoria]" == illusioni-ottiche) {
    echo "index";
    ma scoperto ciò, come lo risolvo? io ho la categoria illusioni-ottiche............

  7. #7
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    ma soprattutto, fatti un array con l'associazione sottocategoria => nome pagina, usa in_array() e di if ne fai solo uno...

  8. #8
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    Quote Originariamente inviata da theseo Visualizza il messaggio
    AHHHHHHHHHHHHHHHH ho scoperto il motivooooo-->
    è il trattino - che fa ancdare in pappa tutto dopo di lui--->
    } elseif ("$array[sottocategoria]" == illusioni-ottiche) {
    echo "index";
    ma scoperto ciò, come lo risolvo? io ho la categoria illusioni-ottiche............
    Hai letto il mio messaggio?
    Applica le cose che ti ho scritto e vedrai che si risolve.

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.