Jump to content


Photo

Dúvida Na Manipulação De Formulários Html Com O Php


  • Faça o login para participar
6 replies to this topic

#1 Biscoitin

Biscoitin

    Novato no fórum

  • Usuários
  • 7 posts
  • Sexo:Masculino

Posted 16/10/2009, 08:02

Eu consegui fazer o formulário em html, mas estou tentando fazer ele funcionar realmente com o php.

Erro do Formulário
Código do Formulário

O problema foi que deu erro nos seguintes códigos:

<?php
$nom=$_POST["txtNom"];
$log=$_POST["txtLog"];
$sen=$_POST["txtSen"];
$sex=$_POST["radSex"];
?>

e no...

echo "Sexo: $resp";


O que eu preciso fazer para funcionar tais códigos, e como eles devem ser inseridos no formulário? É desse jeito mesmo?

#2 Allisson

Allisson

    12 Horas

  • Usuários
  • 239 posts
  • Sexo:Masculino
  • Localidade:Alagoas
  • Interesses:PHP

Posted 16/10/2009, 08:44

Pelo que eu vi , você criou o formulário com a escolha de sexo e quer manipular a resposta com o php correto?
Allisson Rafael de Brito Araujo

Devagar e sempre. Se Deus é por nós, quem será contra nós?

#3 vi7o

vi7o

    Novato no fórum

  • Usuários
  • 7 posts
  • Sexo:Masculino
  • Localidade:Campinas - SP

Posted 16/10/2009, 09:10

Olá,

Eu modifiquei um pouco seu código veja se funciona da forma que você queria.

<FORM method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
<br>Nome:
<input type="text" name="txtNom" size="18" maxlength="24" title="Seu nome completo">
<p>Login:
<input type="text" name="txtLog" size="16" maxlength="16" title="Digite seu login(nome de usuário)">
<p>Senha:
<input type="password" name="txtSen" size="12" maxlength="12" title="Digite sua senha">
<p>Sexo:
<br><input type="radio" name="radSex" value="M"> Masculino
<br><input type="radio" name="radSex" value="F"> Feminino
<p><input type="submit" value="Enviar">
<input type="reset" value="Limpar">
</FORM>
<?php
if($_SERVER['REQUEST_METHOD'] == 'POST') {
	$Nom = empty($_POST['txtNom']) ? null : $_POST['txtNom'];
	$Log = empty($_POST['txtLog']) ? null : $_POST['txtLog'];
	$Sen = empty($_POST['txtSen']) ? null : $_POST['txtSen'];
	$Sex = empty($_POST['radSex']) ? null : $_POST['radSex'];
	
	echo "Nome: $Nom<br>";
	echo "Login: $Log<br>";
	echo "Senha: $Sen<br>";
	echo "Sexo: $Sex<br>";
	
	switch($Sex) {
		case 'M':
			$resp = 'Masculino';
			break;
		
		case 'F':
			$resp = 'Feminino';
			break;
		
		default:
			$resp = 'indefinido';
	}
	
	echo "Sexo: $resp";
}
?>

Se você prefirir você pode jogar todo o código php em um arquivo separado e chamar o arquivo na action do form.

Apenas uma observação quanto ao código html: você se esqueceu de fechar algumas tags, eu recomendo o uso de labels no formulário.

Qualquer novo problema é só falar.

#4 Biscoitin

Biscoitin

    Novato no fórum

  • Usuários
  • 7 posts
  • Sexo:Masculino

Posted 16/10/2009, 14:08

Olá, vi7o
Gostei muito da sua edição.. Obrigado pela resposta (y)
Só que ainda restou um probleminha...
Sair, saiu...

Código do Formulário(novo)

Mas o "Sexo" apareceu duas vezes...
Ex:
Nome: asd
Login: asdsd
Senha: asda
Sexo: M
Sexo: M

Como eu resolvo este problema?

#5 vi7o

vi7o

    Novato no fórum

  • Usuários
  • 7 posts
  • Sexo:Masculino
  • Localidade:Campinas - SP

Posted 16/10/2009, 15:37

você quer que o sexo apareça por extenso (exemplo: Masculino) ou somente a inicial (exemplo: M)?

#6 Biscoitin

Biscoitin

    Novato no fórum

  • Usuários
  • 7 posts
  • Sexo:Masculino

Posted 16/10/2009, 16:27

É pode ser por extenso :D

Eu esqueci de deixar por extenso :wacko:

Mas eu só não queria que aparecesse 2 vezes o "Sexo:"

#7 vi7o

vi7o

    Novato no fórum

  • Usuários
  • 7 posts
  • Sexo:Masculino
  • Localidade:Campinas - SP

Posted 16/10/2009, 17:10

é só retirar a linha:
echo "Sexo: $Sex<br>";





1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq