Array
(
    [0] => stdClass Object
        (
            [Votos_Balanceados] => 1
            [id] => 512388
            [titulo] => Como percorrer um ARRAY com valores de CHECKBOX dentro de um array $_POST dinamicamente em PHP?
            [dataCadastro] => DateTime Object
                (
                    [date] => 2015-03-01 15:01:29
                    [timezone_type] => 3
                    [timezone] => America/Sao_Paulo
                )

            [isFirstPost] => -1
            [idUsuario] => 414840
            [status] => M
            [isExample] => 
            [NomeUsuario] => Yan Gabriel da Silva Machado
            [Login] => YanGabriel
            [Apelido] => Yan Gabriel
            [Foto] => 
            [Conteudo] => Já sei como fazer.
[code]
<?php
if(filter_input(INPUT_SERVER, 'REQUEST_METHOD')=='POST') {

$s = array();
foreach ($_POST as $chave => $valor) {
if(is_array($valor)) {
echo 'Chave: ' . $chave . ' Valores:<br />';
foreach($valor as $ch=>$va){
echo 'Chave: ' . $ch . ' | Valor: ' . $va . '<br />';
}
echo '<br />';
} else {
echo 'Chave: ' . $chave . ' | Valor: ' . $valor . '<br />';
}
}

}
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>TESTE DE DADOS</title>
</head>
<body>
<br />
<form action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']);?>" method="post">
<input type="checkbox" name="disciplina[]" value="Matemática" />Matemática<br />
<input type="checkbox" name="disciplina[]" value="Português" />Português<br /><br />
<input type="radio" value="sim" name="pode" />Sim<br />
<input type="radio" value="não" name="pode" />Não<br /><br />
<input type="text" name="nome" /><br /><br />
<textarea name="texto"></textarea><br /><br />
<input type="submit" />
</form>
</body>
</html>
[/code] ) )

Como percorrer um ARRAY com valores de CHECKBOX dentro de um array $_POST dinamicamente em PHP?

PHP
Yan Gabriel
   - 01 mar 2015

Boas Pessoal! Tenho uma missão quase impossível. Estou criando um formulário dinâmico em que as perguntas e possíveis respostas estão no DB. Ou seja, é algo muito variável pois o Administrador do Sistema escolherá as perguntas e possíveis respostas que o usuário comum poderá responder.
Página que pegaria as perguntas do banco e suas possíveis respostas(caso sejam campos tipos radio ou checkbox); assim como as respostas dadas pelo formulário.
Abaixo está só o código teste estático sem pegar nada do banco e com "perguntas" fictícias.
#Código
<?php

if(filter_input(INPUT_SERVER, 'REQUEST_METHOD')=='POST') {

//Percorre a Variável Global $_POST
foreach($_POST as $chave=>$campo) {

//Recuperra a chave e o campo
$comando = '$' . $chave . '= filter_input(INPUT_POST, "' . $campo . '");';

//Transforma a variável comando em um comando
eval($comando);

//Imprime o comando para a nossa visualização
echo $comando . '<br />';
}
}
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>TESTE DE DADOS</title>
</head>
<body>
<br />
<form action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']);?>" method="post">
<input type="checkbox" name="disciplina[]" value="1" />Matemática<br />
<input type="checkbox" name="disciplina[]" value="2" />Português<br /><br />
<input type="radio" value="sim" name="pode" />Sim<br />
<input type="radio" value="não" name="pode" />Não<br /><br />
<input type="text" name="nome" /><br /><br />
<textarea name="texto"></textarea><br />
<input type="submit" />
</form>
</body>
</html>

Outro problema é que estou recebendo esse erro:
Clique na imagem para abrir em uma nova janela

Post mais votado

Yan Gabriel
   - 01 mar 2015

Já sei como fazer.
#Código
<?php
if(filter_input(INPUT_SERVER, 'REQUEST_METHOD')=='POST') {

$s = array();
foreach ($_POST as $chave => $valor) {
if(is_array($valor)) {
echo 'Chave: ' . $chave . ' Valores:<br />';
foreach($valor as $ch=>$va){
echo 'Chave: ' . $ch . ' | Valor: ' . $va . '<br />';
}
echo '<br />';
} else {
echo 'Chave: ' . $chave . ' | Valor: ' . $valor . '<br />';
}
}

}
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>TESTE DE DADOS</title>
</head>
<body>
<br />
<form action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']);?>" method="post">
<input type="checkbox" name="disciplina[]" value="Matemática" />Matemática<br />
<input type="checkbox" name="disciplina[]" value="Português" />Português<br /><br />
<input type="radio" value="sim" name="pode" />Sim<br />
<input type="radio" value="não" name="pode" />Não<br /><br />
<input type="text" name="nome" /><br /><br />
<textarea name="texto"></textarea><br /><br />
<input type="submit" />
</form>
</body>
</html>

1
|
0

Marcio Araujo
   - 01 mar 2015

Yan, conseguiu sozinho com algum apoio: artigo, video aula?

Yan Gabriel
   - 01 mar 2015

Dei uma olhada na Referência PHP Matriz W3Schools, por quê? Você tinha alguma proposta?