Vinícius Postado Janeiro 19, 2005 Denunciar Share Postado Janeiro 19, 2005 Olá pessoal estou estudando PHP há uma semana e estou com uma dúvida aqui.Eu fiz um formulário com botão de opção mas não consegui o efeito desejado.Código do formulário:<form name="frmteste" method="post" action="respbotaoselecao.php"><input type="radio" name="rbsexo" value="masculino">Masculino<input type="radio" name="rbsexo" value="feminino">Feminino<p><input type="submit" name="Submit" value="Enviar"></p></form>respbotaoselecao.php<?$sexo = $_POST['$rbsexo']; if ($sexo == "masculino") { echo "Você escolheu o sexo Masculino";} else { echo "Você escolheu o sexo Feminino";}?> Qualquer opção que eu escolha só está retornando: "Você escolheu o sexo Feminino". Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guilherme014 Postado Janeiro 19, 2005 Denunciar Share Postado Janeiro 19, 2005 Eu consegui assim <? $sexo = $_POST["rbsexo"]; echo "<input name='rbsexo' type='hidden' id='rbsexo' value='$rbsexo'>"; if ($sexo == 'masculino') { echo "Você escolheu o sexo Masculino"; } else { echo "Você escolheu o sexo Feminino"; } ?> Qualque coisa posta ae.....valeu guilherme Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Vinícius Postado Janeiro 19, 2005 Autor Denunciar Share Postado Janeiro 19, 2005 Funcionou aqui.Poderia me explicar porque desse jeito funcionou? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guilherme014 Postado Janeiro 20, 2005 Denunciar Share Postado Janeiro 20, 2005 Funcionou aqui.Poderia me explicar porque desse jeito funcionou? se eu não estou errado, estas expressões juntas1º - $sexo = $_POST["rbsexo"];2º - echo "<input name='rbsexo' type='hidden' id='rbsexo' value='$rbsexo'>";No caso a primeira expr. pega o valor que esta vindo pelo post e coloca na variavel $sexo,No caso a segunda expr. é um campo oculto e ela só esta servindo para gravar os dados, que está na variavel $sexo..a final a um tempo atras eu estava com a mesma dúvida e me colocaram esta soluçãoe ecplicaram mais ou menos, não posso te dizer que a afirmação esta correta...qualquer coisa pessoal do forum pode falar...valeu guilherme Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Vinícius Postado Janeiro 25, 2005 Autor Denunciar Share Postado Janeiro 25, 2005 Tenho outra dúvida com formulário.dados.php<html><head><title>Exemplo2 - Formulários</title><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></head><body bgcolor="#FFFFFF" text="#000000"><? include "cabecalho.php" ; $txnome = $_POST['txnome']; $txendereco = $_POST['txendereco']; $txnumero = $_POST['txnumero'];?><? // variaveis que serão responsáveis por armazenar o valor // do nome, telefone e endereco para preencher os objetos do formulario $nome ; $sexo ; $telefone ; $checasim ; $checanao ; if ($telefone <> '') { $checasim = "checked" ; $checanao = "" ; } else { $checasim = "" ; $checanao = "checked" ; } ?><table width=100%" border="0" cellspacing="0"> <tr> <td> <form name="form1" method="post" action="resposta.php"> <table width="100%" border="0" cellspacing="0"> <tr> <td width="9%" bgcolor="#333333"> </td> <td width="91%" bgcolor="#CCCCCC"> </td> </tr> <tr> <td width="9%" bgcolor="#333333"><b> <font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#FFFFFF"> Nome </font></b></td> <td width="91%" bgcolor="#CCCCCC"> <font color="#000000"> <b><font face="Verdana, Arial, Helvetica, sans-serif" size="2"> <input type="text" name="txnome" maxlength="50" size="40" value="<? echo $nome ; ?>"> </font></b></font></td> </tr> <tr> <td width="9%" bgcolor="#333333"><font color="#FFFFFF"></font></td> <td width="91%" bgcolor="#CCCCCC"><font color="#000000"></font></td> </tr> <tr> <td width="9%" bgcolor="#333333"><b> <font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#FFFFFF"> Endereço</font></b></td> <td width="91%" bgcolor="#CCCCCC"> <font color="#000000"><b><font color="#000000"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2"> <input type="text" name="txendereco" size="50" value="<? echo $endereco ; ?>"> </font></b></font><font face="Verdana, Arial, Helvetica, sans-serif" size="2"> </font></b></font></td> </tr> <tr> <td width="9%" bgcolor="#333333"><font color="#FFFFFF"></font></td> <td width="91%" bgcolor="#CCCCCC"><font color="#000000"></font></td> </tr> <tr> <td width="9%" bgcolor="#333333"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#FFFFFF">Telefone </font></b></td> <td width="91%" bgcolor="#CCCCCC"> <font color="#000000"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2"> <input type="radio" name="rbtelefone" value="Não" <? echo $checanao ; ?>> Não <input type="radio" name="rbtelefone" value="Sim" <? echo $checasim ; ?>> Sim Qual Número ? <input type="text" name="txnumero" value="<? echo $telefone ; ?>"> </font></b></font></td> </tr> <tr> <td width="9%" bgcolor="#333333"><font color="#FFFFFF"> </font></td> <td width="91%" bgcolor="#CCCCCC"><font color="#CCCCCC"> </font></td> </tr> <tr> <td width="9%"> </td> <td width="91%"> </td> </tr> <tr> <td width="9%"><font color="#000000"></font></td> <td width="91%"> <input type="submit" name="Submit" value="Enviar"> </td> </tr> </table> </form> </td> </tr></table><p> </p></body></html>resposta.php<html><head><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Untitled Document</title></head><body><? $erro = 1; include "cabecalho.php"; $m_nome = $_POST['txnome]; $m_endereco = $_POST['txendereco']; $m_telefone = $_POST['txtelefone']; $m_numero = $_POST['txnumero']; if ( (! $m_nome) or (! m_endereco) or ( ($m_telefone='Sim') and (!$m_numero) ) ) { include "dadosincompletos.php";} else { include "dadoscertos.php";}?> </body></html>dadosincompletos.php<html><head><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Untitled Document</title></head><body link="#000000"><? $link = "dados.php?nome=$m_nome&endereco=$m_endereco&telefone=$m_numero" ;?> <table width="100%" border="0" cellspacing="0"> <tr> <td bgcolor="#CCCCCC"> </td> </tr> <tr> <td bgcolor="#CCCCCC"><b><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Confira abaixo os dados que você digitou: </font></b></td> </tr> <tr> <td bgcolor="#CCCCCC"> </td> </tr> <tr> <td> <table width="100%" border="0" cellspacing="0"> <tr bgcolor="#CCCCCC"> <td colspan="2"><b><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Você não preencheu todos os campos do formulário! </font></b></td> </tr> <tr bgcolor="#CCCCCC"> <td colspan="2"><b><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Retorne ao campo anterior e verifique os dados que estão faltando. </font></b></td> </tr> <tr bgcolor="#CCCCCC"> <td width="18%"> </td> <td width="82%"> </td> </tr> <tr bgcolor="#CCCCCC"> <td width="18%"> </td> <td width="82%"><a href="<? echo $link ; ?>"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Retorna</font></a></td> </tr> </table> </td> </tr></table></body></html>O problema é o seguinte, caso eu não preencha algum campo do formulários vai para a página dadosincompletos.php.Se por exemplo eu tivesse preenchido só o campo nome, quando eu clicar no link para retornar á pagina dados.php deveria aparecer no campo nome o que eu tinha preenchido anteriormente.Mas não está acontecendo isso. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guilherme014 Postado Janeiro 25, 2005 Denunciar Share Postado Janeiro 25, 2005 esta linha no meu programa deu erro....resposta.php include "dadosimcompletos.php"; no programa dadosimcompletos.phpnão achei erro nenhumagora nestedados.phpesta faltando um <form action="resposta.php" method="post"> antes da tabela e depois do fechamento da tag do php ou ?>de uma olhada nesta parte, que também está erradaif ($telefone <> '') {$checasim = "checked";$checanao = "";} else {$checasim = "";$checanao = "checked";}inclua estas três linhas apos o include "cabecalho.php";<?include "cabecalho.php";$txnome = $_POST['txnome'];$txendereco = $_POST['txendereco'];$txnumero = $_POST['txnumero'];?>no meu aqui funcionou....qualquer coisa posta ai....valeuguilherme Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Vinícius Postado Janeiro 25, 2005 Autor Denunciar Share Postado Janeiro 25, 2005 Vou verificar, daqui a pouco posto se consegui ajeitar aqui.valeu aí pela ajuda de novo Guilherme. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Vinícius Postado Janeiro 25, 2005 Autor Denunciar Share Postado Janeiro 25, 2005 include "dadosimcompletos.php";O nome do arquivo é dadosincompletos, escrevi errado no post.Já alterei o dados.php mas o problema persiste.Vou botar o código alterado no meu primeiro post editando os que já estão lá.Dá uma olhada. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Fabyo Postado Janeiro 25, 2005 Denunciar Share Postado Janeiro 25, 2005 Amigo seus script estao cheios de erros, mas pelo que eu vi quer fazer um formulario e quando o cara clicar vai pra outra pagina e mostra os dados se tiver certo ele confirma e salva certo?http://scriptbrasil.com.br/forum/index.php...ndpost&p=180178obs: sobre sua duvida em relação aos $_POST e $_GETé que antes a register_globals era setada pra on no php.ini depois mudaram para off por motivos de segurança se quiser mais detalhes leia no manual do php sobre register_globals Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guilherme014 Postado Janeiro 26, 2005 Denunciar Share Postado Janeiro 26, 2005 include "dadosimcompletos.php";O nome do arquivo é dadosincompletos, escrevi errado no post.Já alterei o dados.php mas o problema persiste.Vou botar o código alterado no meu primeiro post editando os que já estão lá.Dá uma olhada. não estou entendendo, pela pergun ta que você fez, eu verifiquei e funcionou aqui no meu pca sua perguntaO problema é o seguinte, caso eu não preencha algum campo do formulários vai para a página dadosincompletos.php.Se por exemplo eu tivesse preenchido só o campo nome, quando eu clicar no link para retornar á pagina dados.php deveria aparecer no campo nome o que eu tinha preenchido anteriormente.Mas não está acontecendo isso. com aquilo que te passei funcionou no meu sim., sem erros....valeuguilherme Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Fabyo Postado Janeiro 26, 2005 Denunciar Share Postado Janeiro 26, 2005 Cara você não ta entendendo você não esta vendo os erros mas não quer dizer que não tenhafaça isso entre no php.ini e ache a linha display_erros = offcoloque para display_erros = on reinicie o serviço do apache agora testa seus script pra você ver, se você não sabe o display_erros é pra isso mesmo mostrar erros é importante sempre trabalhar com ele em on Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guilherme014 Postado Janeiro 26, 2005 Denunciar Share Postado Janeiro 26, 2005 Cara você não ta entendendo você não esta vendo os erros mas não quer dizer que não tenhafaça isso entre no php.ini e ache a linha display_erros = offcoloque para display_erros = on reinicie o serviço do apache agora testa seus script pra você ver, se você não sabe o display_erros é pra isso mesmo mostrar erros é importante sempre trabalhar com ele em on primeiramente o meu já esta one segundo eu testei novamente e deu certo...valeuguilherme Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Fabyo Postado Janeiro 26, 2005 Denunciar Share Postado Janeiro 26, 2005 Cara eu to falando do script acima se você acha que ta certo então ta não vamos discultir mas se você ver a pagina dados.php $nome ; $sexo ; $telefone ; $checasim ; $checanao ;ta erradoresultado:Notice: Undefined index: txnome in C:\root\dados.php on line 9Notice: Undefined index: txendereco in C:\root\dados.php on line 10Notice: Undefined index: txnumero in C:\root\dados.php on line 11Notice: Undefined variable: nome in C:\root\dados.php on line 17Notice: Undefined variable: sexo in C:\root\dados.php on line 18Notice: Undefined variable: telefone in C:\root\dados.php on line 19Notice: Undefined variable: checasim in C:\root\dados.php on line 20Notice: Undefined variable: checanao in C:\root\dados.php on line 21Notice: Undefined variable: telefone in C:\root\dados.php on line 23se consegue ver os erros agora? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guilherme014 Postado Janeiro 26, 2005 Denunciar Share Postado Janeiro 26, 2005 belezavaleuguilherme Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Vinícius Postado Janeiro 26, 2005 Autor Denunciar Share Postado Janeiro 26, 2005 é que antes a register_globals era setada pra on no php.inidepois mudaram para off por motivos de segurança se quiser mais detalhes leia no manual do php sobre register_globalsbotei com On e funcionou o script.Vou ler o manual do php sobre "register_globals". Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Fabyo Postado Janeiro 26, 2005 Denunciar Share Postado Janeiro 26, 2005 você pode usar javascript:echo "<a href=\"javascript:history.go(-1);\">Voltar</a>";e sobre o script o certo é você definir uma variavel vazia assim:$nome = "" ;$sexo = "";$telefone = "";$checasim = "" ;$checanao = "";e não assim: $nome ; $sexo ; $telefone ; $checasim ; $checanao ; Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Vinícius Postado Janeiro 26, 2005 Autor Denunciar Share Postado Janeiro 26, 2005 Funcionou o script.Lê meu penúltimo post. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Fabyo Postado Janeiro 26, 2005 Denunciar Share Postado Janeiro 26, 2005 Use register_globals em off e pegue os dados do form com $_POST ou $_GET se for ele Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Vinícius Postado Janeiro 26, 2005 Autor Denunciar Share Postado Janeiro 26, 2005 $nome = "" ;$sexo = "";$telefone = "";$checasim = "" ;$checanao = "";Já coloquei assim e pus o register_globals com Off.Use register_globals em off e pegue os dados do form com $_POST ou $_GET se for eleNão consegui te compreender agora.p.s: comecei com php faz nem 2 semanas.Outro detalhe:localhost/php_mysql/II/forms/2exemplo/dados.php?nome=teste&endereco=&telefone=A url está reconhecendo as variáveis, só não está aparecendo o dado nas caixas de texto. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Vinícius Postado Janeiro 27, 2005 Autor Denunciar Share Postado Janeiro 27, 2005 Alguém poderia me ajudar? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Fabyo Postado Janeiro 27, 2005 Denunciar Share Postado Janeiro 27, 2005 Não consegui te compreender agora.p.s: comecei com php faz nem 2 semanas.então você precisa pegar os dados vindos do formulariopagina.php?nome=teste&endereco=avbrasil&telefone=48889988você pega:$nome = $_GET["nome"];$endereco = $_GET["endereco"];$telefone = $_GET["telefone"];entendeu? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Vinícius Postado Janeiro 28, 2005 Autor Denunciar Share Postado Janeiro 28, 2005 entendeu? Agora sim. . Funcionou aqui.Deixa eu ver se entendi:$_GET["nome"]; Essa instrução recebe o dado que foi passado através da variável $link?Tenho outra dúvida mas no arquivo resposta.php:<?$erro = 1;include "cabecalho.php";$m_nome = $_POST['txnome];$m_endereco = $_POST['txendereco'];$m_telefone = $_POST['txtelefone'];$m_numero = $_POST['txnumero'];if ( (! $m_nome) or (! m_endereco) or ( ($m_telefone='Sim') and (!$m_numero) ) ) { include "dadosincompletos.php";} else { include "dadoscertos.php";}?>Para que serve a variável $erro ? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Fabyo Postado Janeiro 28, 2005 Denunciar Share Postado Janeiro 28, 2005 pode ser que a pessoa que fez o script setou a $erro, pra depois usar ele pra mensagens de erros personalizadas Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Vinícius Postado Janeiro 28, 2005 Autor Denunciar Share Postado Janeiro 28, 2005 pode ser que a pessoa que fez o script setou a $erro, pra depois usar ele pra mensagens de erros personalizadas Entendi.valeu pela ajuda. ..........................................................Para não abrir outro tópico vou tirar uma dúvida que eu tenho sobre cookies.Eu estou fazendo um exercício de cookies aqui e no arquivo para apagar os cookies tem o seguinte código.<? setcookie("nome"); setcookie("endereco"); setcookie("visitas");?> Isso antes do <html>.Mas os cookies não estão sendo deletados depois da execução desse arquivo.O que pode estar errado? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Fabyo Postado Janeiro 29, 2005 Denunciar Share Postado Janeiro 29, 2005 você pode setar o valor do cookie pra negativosetcookie("nome", 0, 1);manual do php:Cookies devem ser excluídos com os mesmos parâmetros que foram criados. Se o argumento valor for uma string vazia (""), e todos os outros argumentos forem iguais, então o cookie com o nome especificado será excluído do cliente. http://br.php.net/set_cookie Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Vinícius Postado Fevereiro 2, 2005 Autor Denunciar Share Postado Fevereiro 2, 2005 você pode setar o valor do cookie pra negativosetcookie("nome", 0, 1);Funcionou mas não entendi muito bem.porque botando '0,1' ele seta como negativo?E porque setando como negativo, ele exclui o cookie?Resumindo, não entendi porque entrou esse 0 e esse 1.Eu entendi que se eu criei o cookie com três parametros para excluir é a mesma coisa.Só não entendi porque entrou 0 e o 1.http://br.php.net/set_cookieJá li.valeu. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Vinícius
Olá pessoal estou estudando PHP há uma semana e estou com uma dúvida aqui.
Eu fiz um formulário com botão de opção mas não consegui o efeito desejado.
Código do formulário:
respbotaoselecao.php
Qualquer opção que eu escolha só está retornando: "Você escolheu o sexo Feminino".
Link para o comentário
Compartilhar em outros sites
27 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.