Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1

    [php]if che sembra non funzionare

    Ciao a tutti!Mi sto rompendo la testa per uno stupidissimo if che sembra proprio non voler funzionare.

    Codice PHP:
    $flag = (empty($_GET['month'])) ? 1;
    echo 
    'Flag: '.$flag
    prendo una variabile month dalla querystring e poi faccio scrivere la variabile di controllo, questo if funziona, l'if incriminato è questo:

    Codice PHP:
    if ($flag == 1)    echo "<A HREF=\"phpcalendar.php\" CLASS=\"content\">Visualizza il mese corrente</A>"
    che non mi entra MAI anche se la variabile di controllo ($flag) risulta essere pari a 1.

    Ho pensato che magari potesse essere perché ci sono altre $flag nella pagina e quindi viene sovrascritta da un'altra, ma ho controllato e vi assicuro che è l'unica.

    Inoltre il primo if è messo all'inizio della pagina il secondo verso la fine, quindi il primo viene eseguito sicuramente prima del secondo (scusate il gioco di parole ma sto impazzendo ).

    Avete idea del perchè di questo strano comportamento?
    Grazie mille a chi mi darà una mano!

    bye
    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

  2. #2
    Utente di HTML.it L'avatar di iox84
    Registrato dal
    May 2004
    Messaggi
    754
    Potri dirti una cazzata ma hai provato a fare questo?

    if ($flag == '1') echo "<A HREF=\"phpcalendar.php\" CLASS=\"content\">Visualizza il mese corrente</A>";

    aggiungendo gli apici?

  3. #3
    si si avevo già provato...le sto provando davvero di tutte!!

    Grazie lo stesso!
    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

  4. #4
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    l'if è corretto, ho appena provato così e funziona...

    codice:
    $flag=1;
    if ($flag == 1)    echo "<A HREF=\"phpcalendar.php\" CLASS=\"content\">Visualizza il mese corrente</A>";
    
    $flag="1";
    if ($flag == 1)    echo "<A HREF=\"phpcalendar.php\" CLASS=\"content\">Visualizza il mese corrente</A>";
    
    $flag=true;
    if ($flag == 1)    echo "<A HREF=\"phpcalendar.php\" CLASS=\"content\">Visualizza il mese corrente</A>";
    think simple think ringo

  5. #5
    Utente di HTML.it L'avatar di Teuzzo
    Registrato dal
    Mar 2002
    Messaggi
    969
    Hai controllato lo scope della variabile flag? Non è che l'hai definita dentro una funzione?

  6. #6
    Infatti; l'if non ha motivo di non funzionare...cerco di spiegarmi meglio, la struttura della pagina è semplicemente questa:

    Codice PHP:
    //Se il mese non è presente lo setto a quello corrente
    $month = (empty($month)) ? date("n") : $month;

    //Se l'anno non è presente lo setto a quello corrente
    $year = (empty($year)) ? date("Y") : $year;

    print_HTML_header();

    print_calendar($month,$year);

    print_HTML_footer(); 
    nella funzione print_HTML_header() c'è appunto il primo if:

    Codice PHP:
    function print_HTML_header()
    {
        
    $flag = (empty($_GET['month'])) ? 1;
        echo 
    'Flag: '.$flag;
        
        echo     
    "<HTML>\n<HEAD>\n<STYLE>\n".
                 
    "\n</STYLE>".
                 
    "<TITLE>Calendario\n</TITLE>\n</HEAD>\n<BODY BACKGROUND='images/bg.gif'>\n\n".
                 
    "<P ALIGN='center' CLASS='content'>Seleziona la data in cui pubblicare la news:</P>";

    e alla fine della seconda funzione c'è il secondo if; ho fatto un controllo per vedere se $flag ha il valore corretto ed in realtà ce l'ha (dopo il primo if), solo che sembra che questa variabile sparisca prima del secondo if, nel senso che se faccio un echo non mi stampa nulla, dove va a finire la variabile? :master: non può andare persa, anche se sembra proprio così.

    Avete qualche idea?
    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

  7. #7
    Originariamente inviato da Teuzzo
    Hai controllato lo scope della variabile flag? Non è che l'hai definita dentro una funzione?
    hai risposto mentre io scrivevo comunque si, $flag è all'interno di una funzione, ma una funzione che viene eseguita sicuramente, e prima dell'altra, è quello il problema?se si come lo posso risolvere?
    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

  8. #8
    Scusa, $flag lo setti in una funzione e lo testi in un'altra funzione? Se non lo metti global o lo passi come parametro la variabile "muore" alla fine della funzione.

  9. #9
    Utente di HTML.it L'avatar di Teuzzo
    Registrato dal
    Mar 2002
    Messaggi
    969
    Originariamente inviato da 13manuel84
    hai risposto mentre io scrivevo comunque si, $flag è all'interno di una funzione, ma una funzione che viene eseguita sicuramente, e prima dell'altra, è quello il problema?se si come lo posso risolvere?
    Se la definisci dentro non la troverai fuori. O la definisci prima fuori o la definisci global.

  10. #10
    Utente di HTML.it L'avatar di VaLvOnAuTa
    Registrato dal
    Jun 2002
    Messaggi
    2,003
    Uhm forse dico una cazzata.. ma credo che la variabile $flag non può uscire dalla funzione a meno che non fai ritornare un valore booleano alla stessa oppure la passi per riferimento.

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.