Visualizzazione dei risultati da 1 a 9 su 9

Discussione: isset e checkbox

  1. #1

    isset e checkbox

    Ho una checkbox in un form, perchè se passo i dati con un classico form e scrivo:

    if(isset($var)) {
    echo"ciao";
    }

    Non mi scrive niente se non è selezionata la checkbox ma se la seleziono invece mi scrive "ciao"?

    Non dovrebbe comunque scrivere "ciao" indipendentemente se è selezionata o no?

  2. #2
    No, se una checkbox non è checkata non viene inviate nelle variabili post.
    http://www.beavermag.it

  3. #3
    e come faccio a passarla cmq come variabile anche se non è checckata?

  4. #4
    Come dicevo le checkbox non selezionate di per se non vengono inviate quindi il modo più semplice è verificarne la presenza con isset e nel caso non ci sia fare quello che devi fare.
    http://www.beavermag.it

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    non usare una checkbox... è come utilizzare una bicicletta per attraversare la manica... forse non è adatta allo scopo. La checkbox viene passata se e solo se è checkata. altrimenti non passa niente come non esistesse nel form.
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  6. #6

  7. #7
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    595
    volendo puoi fare con un campo hidden e javascript
    Codice PHP:
    <?php
    print_r
    ($_GET);
    ?>
    <form>
     <input id="hiddencheck" type="hidden" name="hiddencheck" value="0">
     <input type="checkbox" name="mycheck" onclick="mycheckclicked()">
     <input type="submit" value="invia" name="invia">
    </form>
    <script language="javascript">
    function mycheckclicked()
    {
      myhidden = document.getElementById("hiddencheck");
      myhidden.value = myhidden.value == "0" ? "1" : "0";
    }
    </script>
    E come vedi dall'array $_GET la variabile $_GET["hiddencheck"] è sempre valorizzata con "0" o con "1"

    Ma se ha javascript disabilitato... nisba

    Ma perchè non vuoi fare if(isset($_GET["mycheck"]))?

  8. #8
    Ma perchè non vuoi fare if(isset($_GET["mycheck"]))?

    In questa maniera non mi funziona, come indicato anche dagli altri...cercherò un'altra soluzione

  9. #9
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    595
    Guarda che nessuno ha detto che "non funziona"
    La variabile non viene passata e quindi isset funziona benissimo... l'errore è da un'altra parte

    prova infatti questo codice
    Codice PHP:
    <?php
    if(isset($_GET["mycheck"]))
      echo 
    "SI!!!";
    else
      echo 
    "NO!!!";
    ?>


    <form method="get">
     <input type="checkbox" name="mycheck" onclick="mycheckclicked()">
     <input type="submit" value="invia" name="invia">
    </form>
    E vedrai che va benissimo

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.