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

    [PHP] Problema ciclo if

    Ciao,
    ho un problema che mi sta da dannando l'anima non perche difficile, ma perche' e# una sciocchezza per ho non riesco a trovare dove sbaglio... Ho un form in una pagina php in cui c'e' una checkbox che se checckata abilita' una serie di input text e una select. Passo i valori in una nuova pagina php e faccio un if di controllo per vedere se la checkbox e' selezionata e il contenuto delle caselle sono numeri e che la select non sia vuota.vi posto il codice:
    codice:
    if (($check == 1) AND (is_numeric($ip_ini)) AND (is_numeric($ip_ini1)) AND (is_numeric($ip_ini2)) AND (is_numeric($ip_ini3)) AND (is_numeric($ini_port) AND ($proto <> "")) AND ((is_numeric($ip_out)) AND (is_numeric($ip_out1)) AND (is_numeric($ip_out2)) AND (is_numeric($ip_out3)) AND (is_numeric($out_port)) AND ($out_proto <> "")){
                    $_SESSION['check'] = $check;
                    $_SESSION['ip_ini']=$ip_ini;
                    $_SESSION['ip_ini1']=$ip_ini1;
                    $_SESSION['ip_ini2']=$ip_ini2;
                    $_SESSION['ip_ini3']=$ip_ini3;
                    $_SESSION['ini_port']=$ini_port;
                    $_SESSION['proto']=$proto;
                    $_SESSION['ip_out']=$ip_out;
                    $_SESSION['ip_out1']=$ip_out1;
                    $_SESSION['ip_out2']=$ip_out2;
                    $_SESSION['ip_out3']=$ip_out3;
                    $_SESSION['out_port']=$out_port;
                    $_SESSION['out_proto']=$out_proto;
            }
            else{
                echo "<form method=\"GET\" action=\"custom_table_eth3.php\">\n";
                echo "
    \n";
                echo "Gli indirizzi IP e le porte devono essere scritte in numeri Torna indietro e riscrivi gli IP o le porte\n";
                echo "
    
    \n";
                echo "<button type=\"submit\">\n";
                echo "Previous\n";
    
            }//fine ciclo per ricerca
    Pero' se la lascio gli input e la select disattivi il ciclo mi manda lo stesso all'else...
    suggerimenti? ciao ciao

  2. #2
    dovresti trovare i dati in GET.

    $_GET['var']...


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

  3. #3
    I dati gli ho gia' ricevuti tramite una serie di _GET non e' quello il problema almeno spero

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    sicuramente un problema con le parentesi...
    codice:
    if (
    	($check == 1) && 
            (is_numeric($ip_ini)) &&
    	(is_numeric($ip_ini1)) &&
    	(is_numeric($ip_ini2)) &&
    	(is_numeric($ip_ini3)) && 
    	(is_numeric($ini_port)) && 
    	($proto != "") && 
            (is_numeric($ip_out)) &&
            (is_numeric($ip_out1)) &&
    	(is_numeric($ip_out2)) && 
    	(is_numeric($ip_out3)) &&
    	(is_numeric($out_port)) &&
    	($out_proto != "")
      ) {
    ...
    ...
    ...
    }
    else {
    ...
    ...
    ...
    }
    Potrebbe essere?
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  5. #5
    Originariamente inviato da magix2003
    I dati gli ho gia' ricevuti tramite una serie di _GET non e' quello il problema almeno spero
    Nel post non si vede.

    Fai tutta una serie di AND ... una o piu' ti rende false. Prova a toglierne una alla volta e individua il tuo problema. Tra l'altro essendo tutte AND viene vanificata la precedenza che potrebbe dare la parentesi tonda.


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

  6. #6
    Non funziona neanche cosi` a me sembra che non vi siano errori non capisco...

  7. #7
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    argh... fai un bel print delle tue variabili che vai a testare nella lunga catena di AND... magari ti sfugge qualcosa (tipo mancata assegnazione, mispell del nome etc)
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  8. #8
    Ho risolto
    ho sostituito l'else con elseif mettendo tutte le condizione dell if al contrario e sembra funzionare, non e' molto bello pero' non si puo volere tutto ciao e grazie per avermi aiutato

  9. #9
    Originariamente inviato da magix2003
    Ho risolto
    ho sostituito l'else con elseif mettendo tutte le condizione dell if al contrario e sembra funzionare, non e' molto bello pero' non si puo volere tutto ciao e grazie per avermi aiutato
    mi sfugge "il contrario"... ed anche l'elseif... al posto dell'else.

    se funziona vuol dire che ora trova TRUE l'if , e se ne strafottula dell'elseif.... oppure che trova false sia la if che l'elseif e quindi prosegue come se nulla fosse successo...

    Concordo con te sul fatto che non e' molto bello....


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

  10. #10
    Infatti e' stato sul bagliore nel buio adesso ho dovuto inserire un altra checkbox ed ho completamente stravolto la struttura del ciclo, ma non funge ancora posto la nuova versione:
    codice:
     
    if (($check == 1) && ($check1 == 1)){
                if ((is_numeric($ip_ini)) && (is_numeric($ip_ini1)) && (is_numeric($ip_ini2)) && (is_numeric($ip_ini3)) && (is_numeric($ini_port)) && ($proto <> "")){
                    $_SESSION['check'] = $check;
                    $_SESSION['ip_ini']=$ip_ini;
                    $_SESSION['ip_ini1']=$ip_ini1;
                    $_SESSION['ip_ini2']=$ip_ini2;
                    $_SESSION['ip_ini3']=$ip_ini3;
                    $_SESSION['ini_port']=$ini_port;
                    $_SESSION['proto']=$proto;
                    $_SESSION['ip_out']=$ip_out;
                    $_SESSION['ip_out1']=$ip_out1;
                    $_SESSION['ip_out2']=$ip_out2;
                    $_SESSION['ip_out3']=$ip_out3;
                    $_SESSION['out_port']=$out_port;
                    $_SESSION['out_proto']=$out_proto;
                }else{
                    echo "<form method=\"GET\" action=\"custom_table_eth3.php\">\n";
                    echo "
    \n";
                    echo "Gli indirizzi IP e le porte devono essere scritte in numeri Torna indietro e riscrivi gli IP o le porte\n";
                    echo "
    
    \n";
                    echo "<button type=\"submit\">\n";
                    echo "Previous\n";
                }
            }elseif ($check == 1){
                if ((is_numeric($ip_ini)) && (is_numeric($ip_ini1)) && (is_numeric($ip_ini2)) && (is_numeric($ip_ini3)) && (is_numeric($ip_out)) && (is_numeric($ip_out1))
                    $_SESSION['ip_ini']=$ip_ini;
                    $_SESSION['ip_ini1']=$ip_ini1;
                    $_SESSION['ip_ini2']=$ip_ini2;
                    $_SESSION['ip_ini3']=$ip_ini3;
                    $_SESSION['ip_out']=$ip_out;
                    $_SESSION['ip_out1']=$ip_out1;
                    $_SESSION['ip_out2']=$ip_out2;
                    $_SESSION['ip_out3']=$ip_out3;
                }else{
                    echo "<form method=\"GET\" action=\"custom_table_eth3.php\">\n";
                    echo "
    \n";
                    echo "Gli indirizzi IP devono essere scritte in numeri Torna indietro e riscrivi gli IP \n";
                    echo "
    
    \n";
                    echo "<button type=\"submit\">\n";
                    echo "Previous\n";
                }
            }elseif ($check1 == 1){
                if ((is_numeric($ini_port)) && ($proto <> "") && (is_numeric($out_port))){
                    $_SESSION['ini_port'] = $ini_port;
                    $_SESSION['proto'] = $proto;
                    $_SESSION['out_port'] = $out_port;
                }else{
                    echo "<form method=\"GET\" action=\"custom_table_eth3.php\">\n";
                    echo "
    \n";
                    echo "Le porte devono essere scritte in numeri Torna indietro e riscrivi le porte \n";
                    echo "
    
    \n";
                    echo "<button type=\"submit\">\n";
                    echo "Previous\n";
            }

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.