Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2012
    residenza
    Bologna
    Messaggi
    38

    Istruzione IF con condizioni multiple

    Ciao, non riesco ad ottenere il risultato voluto da una serie di condizioni all'interno di un IF.

    Codice PHP:
     if (($varteam == $_POST['rteam1']) && ($varteam == $_POST['rteam2']) && ($varteam == $_POST['rteam3'])  && ($varteam == $_POST['rteam4']) && ($varteam == $_POST['rteam5'])) 
        { -----------}
                else
        {---------} 
    Partendo dalla variabile $varteam, voglio che mi venga restituito true se tutti i valori confrontati sono identici altrimenti false.

    Con il codice che ho postato se tutti i valori sono uguali o diversi funziona nel modo corretto, ma se uno o più valori sono diversi mi restituisce true anzichè false.

    Perchè? Dove sbaglio?

  2. #2

    Re: Istruzione IF con condizioni multiple

    Originariamente inviato da botmite

    Partendo dalla variabile $varteam, voglio che mi venga restituito true se tutti i valori confrontati sono identici altrimenti false.

    Con il codice che ho postato se tutti i valori sono uguali o diversi funziona nel modo corretto, ma se uno o più valori sono diversi mi restituisce true anzichè false.
    Diciamo che hai una contraddizione in termini che impedisce una corretta interpretazione.

    Prova con la stampa del $_POST a verificare visivamente contenuto e risultati della if().

    Codice PHP:
    echo "<pre>";
    print_r($_POST);

    .... 

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

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2012
    residenza
    Bologna
    Messaggi
    38
    Non avevo considerato che i valori confrontati possono essere anche null.

    Con il print_r($_POST) ottengo questo:

    Codice PHP:
    [rteam1] => [rteam2] => [rteam3] => [rteam4] => [rteam5] => 
    In questo caso il valore di $varteam è '5', il risultato ottenuto è true.

    Può essere che il valore null vada ad incasinare il tutto?

  4. #4
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Tu vuoi che ritorni true se tutte le variabili post sono pari a $varteam o se le variabili post sono uguali tra loro?

    Non ho capito se $varteam è un valore che ti viene fuori da qualcosa e devi confrontarlo con ciò che arriva tramite post o se è una variabile d'appoggio che ti crei tu per vedere se le variabili post sono uguali tra loro.

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2012
    residenza
    Bologna
    Messaggi
    38
    Originariamente inviato da Alhazred
    Tu vuoi che ritorni true se tutte le variabili post sono pari a $varteam o se le variabili post sono uguali tra loro?

    Non ho capito se $varteam è un valore che ti viene fuori da qualcosa e devi confrontarlo con ciò che arriva tramite post o se è una variabile d'appoggio che ti crei tu per vedere se le variabili post sono uguali tra loro.
    Ok, cerco di spiegarmi meglio:

    ho un form, all'interno ho $_POST['team'] con un valore dinamico preso da una tabella del mio database.

    La variabile $varteam è uguale al $_POST['team'].

    Nel mio form ci sono anche 5 valori sempre presi allo stesso modo da una tabella del db che sono $_POST['rteam1'], $_POST['rteam2'] etc. e che possone essere anche null.

    Ora, quando invio il mio form se tutti i valori $_POST['rteam'] sono identici a $varteam eseguo una query di update, viceversa non faccio nulla.

    Il mio codice funziona se effettivamente tutti valori sono uguali o se tutti sono diversi.

    Quello che voglio è che se anche uno solo dei valori $_POST['rteam'] è diverso, la query non venga eseguita, cosa che invece ora non accade.

  6. #6
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Prova con === invece che == così eviti eventuali problemi coi null.

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.