Jump to content

[RESOLVIDO] Checkboxes em POST


Ivo Pereira
 Share

Recommended Posts

Boas pessoal,

tenho uma listagem de checkboxes que retorna o valor do ID dos utilizadores, e ao clicar enviar, queria conseguir na página a seguir retornar a lista das checkboxes com check.

Tenho este código:

                                        <div class="listMeetingUsersInvite">

                                        <?php

                                        $sql = mysql_query("SELECT * FROM scie_users ORDER BY nome ASC");

                                        if (mysql_num_rows($sql) > 0) {
                                            while ($dados = mysql_fetch_assoc($sql)) {

                                        ?>

                                            <span class="meetingInvite"><input type="checkbox" name="<?php echo $dados['id']; ?>" value="<?php echo $dados['id']; ?>" /> <?php echo $dados['nome']; ?></span>

                                        <?php

                                            }
                                        }

                                        ?>
                                            
                                        </div>

Como vou inserir isso na base de dados, preciso de ter todos os IDs para que vá inserindo, conforme vá lendo os IDs vai inserindo na BD.

Sugestões?

Link to comment
Share on other sites

Boas,

Não percebi bem a tua questão, mas o que tu queres saber é se o checkbox foi "checkado"?

Se for isso, tens que utilizar a função isset(). Porque, se utilizares apenas "$campo == 1", caso o campo não seja seleccionado vai ocorrer um erro.

<?php

if ( isset( $_POST['campo'] ) )
echo 'Checkado';

?>

Um erro? Que erro? Ele apenas vai comparar o valor, para ver se é igual.

No entanto, adicionei o que me disseste mas estou aqui com umas dúvidas.

if (!empty($_POST)) {

    //verificar cada checkbox checked p inserir registos na bd
    $sql = mysql_query("SELECT id,nome FROM scie_users");

    if (mysql_num_rows($sql) > 0) {
        while ($checkboxes = mysql_fetch_assoc($sql)) {

            if ((isset($_POST[$checkboxes[id]]))) {

                echo $_POST[$checkboxes[id]]."<br />";

            }

        }
    }

}

Isto deve ser algum problema nas condições, pois ele não me retorna nada...

Sugestões?  :dontgetit:

Nota: no formulário alterei o name da checkbox para o ID, em vez do nome do utilizador, evitando assim registos duplicados.

Link to comment
Share on other sites

Boas,

Um notice como: Notice: Undefined index: campo in...

Mas só ocorre se o campo NÃO for checkado.

1) Deves usar plicas na no array $checkboxes, por exemplo: $checkboxes['id'].

2) Podes retirar um parêntesis à esquerda e um à direita de isset($_POST[$checkboxes[id]].

3) Não tens nenhum checkbox cujo nome seja $checkboxes[nome].

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.