Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Erro ao usar explode
if(isset($_POST['check'])){
$opcao = $_POST['check'];
$opcoes_esc = explode(',' ,$opcao);
echo $opcoes_esc;
}
está dando esse erro
Warning: explode() expects parameter 2 to be string, array gi in
A variável de $_POST['check'] é um array e não uma string.
A variável de $_POST['check'] é um array e não uma string.
mensagem de erro fala que está esperando 2 parâmetros,
eu na mesma
explode() expects parameter 2 to be string, array gi in
Tradução:
explode() espera que o parâmetro 2 seja string, array entregue
O parâmetro 2 é o $_POST['check'], ou seja, é um array e não uma string.
Antes de tudo..
Utilize sempre o var_dump(SUA_VARIAVEL);
Assim você entende oq esta vindo nela...
Se mesmo com a tradução do @Gabriel Heming ainda resta duvida, segue um exemplo para tentar lucidar...
index.html
<!DOCTYPE HTML>
<html lang="pt-br">
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<form action="recebe.php" method="post" >
<h3>Frutas</h3>
<label>
<input type="checkbox" name="check[]" value="banana" /> Banana
</label>
<br />
<label>
<input type="checkbox" name="check[]" value="melao"/> Melão
</label>
<br />
<input type="submit" value="Enviar" />
</form>
</body>
</html>
Repare que o name="check[]" é um array....
Ou seja para você tratar eles individualmente você pode simplesmente executar eles em um loop e tratar individual.
recebe.php:
<?php
$opcoes = $_POST['check'];
foreach($opcoes as $opcao){
echo $opcao;
}valeu desculpem- me os moderadores, estava precisando do implode e não do explode como
Mencionei no tópico.
Resolvi desta forma
$opção_esc = implode($_POST["check"],', ');
Dessa forma grava no banco de dados todos os checkbox marcados
Troque echo por print_r($opcoes_esc)