Quando coloca no input true ele envia string ao inves de booleano. Quando coloquei "1" deu certo. Porque no vídeo da aula deu certo e quando fiz não deu?
<input type="checkbox" name="usado" value="true">
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Quando coloca no input true ele envia string ao inves de booleano. Quando coloquei "1" deu certo. Porque no vídeo da aula deu certo e quando fiz não deu?
<input type="checkbox" name="usado" value="true">
O input enviar o valor "true" que é uma String mesmo.
O script que receberá o valor deve avaliar se um valor foi passado e fazer a conversão, conforme código abaixo:
if(array_key_exists('usado', $_POST)) { // Aqui testa se algum valor foi passado
$usado = "true"; // se foi passado um valor, significa que o checkbox foi marcado
} else {
$usado = "false"; // se não for passado um valor, a String "false" é atribuída à variável $usado.
}
Esta é a forma de trabalhar.
Sim, depois eu fiz isso e deu certo, mas no video para fazer a inserção funcionou sem essa verificação mandando apenas true como string.