Como percorrer um ARRAY com valores de CHECKBOX dentro de um array $_POST dinamicamente em PHP?
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.
Outro problema é que estou recebendo esse erro:
[img]http://arquivo.devmedia.com.br/forum/imagem/414840-20150301-130706.png[/img]
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.
<?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:
[img]http://arquivo.devmedia.com.br/forum/imagem/414840-20150301-130706.png[/img]
Yan Machado
Curtidas 0
Melhor post
Yan Machado
01/03/2015
Já sei como fazer.
<?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>
GOSTEI 1
Mais Respostas
Marcio Araujo
01/03/2015
Yan, conseguiu sozinho com algum apoio: artigo, video aula?
GOSTEI 0
Yan Machado
01/03/2015
Dei uma olhada na [url:descricao=Referência PHP Matriz W3Schools]http://www.w3schools.com/php/php_ref_array.asp[/url], por quê? Você tinha alguma proposta?
GOSTEI 0