Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Input envia string

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">
2 respostas
solução!

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.