+2

Manipulando dados de formulários com PHP – Parte 1

criado por Alfred R. Baudisch em 16/01/2006 6:38pm
4 - Campos Radio
Campos Radio permitem um relacionamento de um para muitos entre identificador e valor, ou seja, eles têm múltiplos possíveis valores, mas somente um pode ser pré-exibido ou selecionado. Por exemplo: você tem um sistema de "quiz". Cada pergunta possui 5 possíveis respostas. Cada resposta é um radio, onde os 5 radios dessa pergunta possuem o mesmo identificador, mas cada com valores diferentes.

Códigos Exemplos:
radio.html
<form action="radio.php" method="post">
Qual seu sistema operacional?<br>
<input type=radio name=sistema value="Windows 98"> Win 98 <input type=radio name=sistema value="Windows XP"> Win XP <input type=radio name=sistema value="Linux"> Linux <input type=radio name=sistema value="Mac"> Mac<br><br>
Qual a marca de seu monitor?<br>
<input type=radio name=monitor value="Samsung"> Samsung <input type=radio name=monitor value="LG"> LG <input type=radio name=monitor value="Desconhecido"> Desconhecido<br><br>
<input type=submit>
</form>

radio.php
<?php
echo "Seu sistema operacional é: " . $_POST["sistema"];
echo "<br>Seu monitor é: " . $_POST["monitor"];
?>

5 - Campos Checkbox
O tipo Checkbox tem somente um possível valor por entrada: on value (marcado) ou no value (desmarcado). No script você deve fazer a verificação para saber se o campo foi marcado ou não.

Se é possível também utilizar grupos de checkbox com o mesmo nome. Para você deve adicionar "[]" no final do nome, para o PHP interpretar como array, veja o código exemplo.

Códigos Exemplos:
checkbox.html
<form action="checkbox.php" method="post">
Escolha os numeros de sua preferência:<br>
<input type=checkbox name="numeros[]" value=10> 10<br>
<input type=checkbox name="numeros[]" value=100> 100<br>
<input type=checkbox name="numeros[]" value=1000> 1000<br>
<input type=checkbox name="numeros[]" value=10000> 10000<br>
<input type=checkbox name="numeros[]" value=90> 90<br>
<input type=checkbox name="numeros[]" value=50> 50<br>
<input type=checkbox name="numeros[]" value=30> 30<br>
<input type=checkbox name="numeros[]" value=15> 15<br><BR>
<input type=checkbox name="news" value=1> Receber Newsletter?<br><BR>
<input type=submit>
</form>

checkbox.php
<?php
// Verifica se usuário escolheu algum número
if (isset($_POST["numeros"])) {
    echo "Os números de sua preferência são:<BR>";
    
    // Faz loop pelo array dos numeros
    foreach ($_POST["numeros"] as $numero) {
        echo "- " . $numero . "<BR>";
    }
} else {
    echo "Você não escolheu número preferido!<br>";
}
 
// Verifica se usuário quer receber newsletter
if (isset($_POST["news"])) {
    echo "Você deseja receber as novidades por email!";
} else {
    echo "Você não quer receber novidades por email...";
}
?>

Comentários:

Mostrando 1 - 10 de 31 comentários
Jairus disse:
Parabéns pelo tópico.


Jairus Lopes
29/10/2010 12:03am (~13 anos atrás)

Jairus disse:
Parabéns pelo tópico.


Jairus Lopes
29/10/2010 12:03am (~13 anos atrás)

Felipe disse:
Muito bom mesmo, é de grande uso ! vlw mesmo
20/08/2010 11:14am (~13 anos atrás)

Cara, parabens, este tutorial me será de grande avalia...
Estou iniciando, manjo muito pouco de PHP, sempre trabalhei mais com HTML e JavaScript, agora preciso desenvolver um sisteminha para empresa onde trabalho, e estas informações de grande conhecimento...

Valew´s e parabens...
15/03/2006 8:50am (~18 anos atrás)

Jaydson Gomes disse:
É isso ai mesmo Alfred , coloquei http://localhost/script.php ai funcionou certinho.
Só vou deixar registrado que para funcionar precisou de
import_request_variables("P"); no começo do script.
Muito obrigado mesmo pela atenção. Eu estava empacado nisso.
Valeu !
Jaydson Gomes
27/02/2006 6:36am (~18 anos atrás)

Olá Pessoal,

Obrigado por todos os comentários por aqui! Se eu não os respondi antes é porque eu não sabia que esse meu artigo tinha sido publicado.

Como podem ver eu escrevi a parte 1 e 2. E enviei a parte 1 antes da 2 obviamente, mas foi publicado aqui a 2 lá em 2004, então eu tinha até esquecido dessa parte 1 e cá está ela.

Jaydson, qual ao fato de que o IE está puxando o código, deve ser que no action do seu formulário deve estar um endereço do tipo: file://C:/bla/script.php
Cerfitique de deixar um endereço http://localhost/qualquercoisa/script.php ou apenas o nome do arquivo direto.

Abraços,
Alfred
20/02/2006 4:56am (~18 anos atrás)

Diego Hellas disse:
É bom tentar cultivar esse metodo...


até por que em um script que você fez tem muitas chances de outra pessoa dar manutenção nele.. e assim é criado um "padrão" muito bom e facil de se visualizar, mas tenho que lembrar que muitas vezes as empresas tem politicas para que isso seja feito.
15/02/2006 7:30am (~18 anos atrás)

Jaydson Gomes disse:
Desculpem a ignorancia , mas como disse sou iniciante.
assumindo o codigo exemplo , tentei de todas as maneiras:
com import_request_variables("gP"); e da outra maneira tb. Mas quando o Form puxa o Script.php me abre uma janela do IE mostrando apenas o código.já quando acesso diretamente o Script.php (localhost/script.php) ele mostra o script funcionando.
Alguém pode me dar uma dica ai? Agradeço!
Será alguma configuração no php.ini ?
10/02/2006 10:26am (~18 anos atrás)

Essa eu não sabia!
import_request_variables

vai enconomizar bastante meu tempo!!!

Diego CODU
http://www.cot.org.br/
08/02/2006 9:32am (~18 anos atrás)

Adler Medrado disse:
Não se deve esquecer de tratar os dados provenientes do formulário para evitar que pessoas maliciosas tentes burlar o teu programa.

24/01/2006 9:15am (~18 anos atrás)

Novo Comentário:

(Você pode usar tags como <b>, <i> ou <code>. URLs serão convertidas para links automaticamente.)