donny_ 0 Denunciar post Postado Julho 23, 2008 Bom gente, tenho o seguinte código: <form name="form1" method="POST" action="<?php $PHP_SELF; ?>" > <input type="text" name="nome" /> <input type="submit" name="btn" value="Cadastrar"></input> <input type="submit" name="btn" value="Visualizar"></input> </form> <?php switch($_POST['btn']) { case "Cadastrar": header("Location: registrar.php"); break; case "Visualizar": header("Location: ver.php"); break; } ?> O que acontece, é que quando vai paga a pagina "ver.php" tenho uma variavel pegando o valor do campo "nome", e dei um echo nela, so que não apareceu o valor do campo "nome", tem algo errado... alguém poderia me dizer se a variavel não esta pegando o valor do campo por causa dessa linha "header...."... se alguém puder me ajudar, fico muito grato, obrigado a todos... Consegui fazer em JS como no exemplo abaixo: <html <head> <script language="JavaScript"> function Visualizar() { document.nome_formulario.action="pagina1.html"; document.forms.nome_formulario.submit(); } </script> <script language="JavaScript"> function Cadastrar() { document.nome_formulario.action="pagina2.html"; document.forms.nome_formulario.submit(); } </script> </head> <form method=post name=nome_formulario> <input type=button onclick=Cadastrar() value=Cadastrar></input> <input type=button onclick=Visualizar() value=Visualizar></input> </form> </html> ATT: gostaria de fazer em PHP... se alguem puder me ajudar fico muito grato... obrigado a todos... Compartilhar este post Link para o post Compartilhar em outros sites
Fernando Pioli 0 Denunciar post Postado Julho 23, 2008 Olá amigo ... tava olhando ake, mas num vai aparecer o echo mesmo ... se você quiser mostrar o nome no ver.php, por exemplo, pode usar o $_GET['nome'] no ver.php e mudar header("Location: ver.php"); por isso: header("Location: ver.php?nome=$nome"); Espero que tenha ajudado. Compartilhar este post Link para o post Compartilhar em outros sites
donny_ 0 Denunciar post Postado Julho 23, 2008 feraser, vlw mesmo, mais entenda só, tenho vários campos no meu form, os submit seriam do tipo, CADASTRAR e VISUALIZAR, qd clicado em VISUALIZAR vai abrir uma outra pagina com os dados digitados nos campos entende? creio eu que passando os dados pela URL como você disse seriam meio prejudicial a quantidade de campos que se tem, no qual no campo url dos browser aceita somente até 255 caracteres. Obrigado e aguardo respostas. vlw mesmo... Compartilhar este post Link para o post Compartilhar em outros sites
Alaerte Gabriel 662 Denunciar post Postado Julho 23, 2008 Tente: <form name="form1" method="POST" action=""> <input type="text" name="nome" /> <input type="submit" name="cad" value="Cadastrar"> <input type="submit" name="vis" value="Visualizar"> </form> <?php if($_POST['cad']){ header("Location: registrar.php?dados=".base64_encode($_POST['nome'])); }else{ header("Location: ver.php?dados=".base64_encode($_POST['nome'])); } ?>nas páginas para pegar os resultados faça: <?php if($_SERVER['REQUEST_METHOD']=='GET'){ echo base64_decode($_GET['dados']); } ?> Compartilhar este post Link para o post Compartilhar em outros sites
donny_ 0 Denunciar post Postado Julho 24, 2008 Alaerte, vlw pela dica, mais tb nao deu certo, abre a pagina "ver.php" direto, assim que entro na pagina onde ta o form, vou tentar ake, em JS ficou desse modo: <script language="JavaScript"> function Visualizar() { document.nome_formulario.action="pagina1.html"; document.forms.nome_formulario.submit(); } function Cadastrar() { document.nome_formulario.action="../comerciominas/ver.php"; document.forms.nome_formulario.submit(); } </script> mais nao gostaria de usar JS pelo fato de poderem desativar o JS... ai gostaria de fazer em PHP mesmo... vlw pela dica, se puderem me ajudar fico muito agradecido.. vlw a todos até o momento.... Compartilhar este post Link para o post Compartilhar em outros sites
hinom 5 Denunciar post Postado Julho 24, 2008 a forma como montou e a semantica estão errados seria assim: <form name="form1" method="POST" action="<?php echo basename( __FILE__ ); ?>" > <input type="text" name="nome" /> <input type="submit" name="btn" value="Cadastrar"></input> <input type="submit" name="btn" value="Visualizar"></input> </form> <?php if( isset( $_POST['btn'] ) ){ switch($_POST['btn']) { case "Cadastrar": include("registrar.php"); break; case "Visualizar": include("ver.php"); break; } } ?> Compartilhar este post Link para o post Compartilhar em outros sites
donny_ 0 Denunciar post Postado Julho 24, 2008 hinom, tentei dessa forma, só que dai abre a pagina ver.php embaixo da pagina onde ta o form, ou seja, fica as duas paginas em uma só... :S. Compartilhar este post Link para o post Compartilhar em outros sites
Alaerte Gabriel 662 Denunciar post Postado Julho 25, 2008 hinom, tentei dessa forma, só que dai abre a pagina ver.php embaixo da pagina onde ta o form, ou seja, fica as duas paginas em uma só... :S. Claro amigão, o que você esperava se os scripts estão na mesma página ? Compartilhar este post Link para o post Compartilhar em outros sites
hinom 5 Denunciar post Postado Julho 25, 2008 o problema é que você nao quer usar javascript não há problema nenhum no uso de javascript se um determinado PC está com javascript desabilitado é porque o usuário fez isso deliberadamente o que não recomenda-se é o uso de eventos restritos à política de segurança, como controles ActiveX e manipulações de objetos externos a sua questão pode ser resolvida assim <form name="form1" method="POST" action=""> <input type="text" name="nome" /> <input type="submit" name="btn" value="Cadastrar" onclick="this.form.action=registra.php"></input> <input type="submit" name="btn" value="Visualizar" onclick="this.form.action=ver.php"></input> </form> simples... se quiser fazer de outros modos mirabulantes, pesquise por socket ou curl ou funções http aqui mesmo no forum existem centenas de topicos relacionados Compartilhar este post Link para o post Compartilhar em outros sites
JCMPJ 0 Denunciar post Postado Julho 25, 2008 Bom gente, tenho o seguinte código: <form name="form1" method="POST" action="<?php $PHP_SELF; ?>" > <input type="text" name="nome" /> <input type="submit" name="btn" value="Cadastrar"></input> <input type="submit" name="btn" value="Visualizar"></input> </form> <?php switch($_POST['btn']) { case "Cadastrar": header("Location: registrar.php"); break; case "Visualizar": header("Location: ver.php"); break; } ?> Não pode fazer algo do tipo: <form name="form1" method="POST" action="<?php $PHP_SELF; ?>" > <input type="text" name="nome" /> <input type="submit" name="btn" value="Cadastrar"></input> <input type="submit" name="btn" value="Visualizar"></input> </form> <?php switch($_POST['btn']) { case "Cadastrar": header("Location: registrar.php"); break; case "Visualizar": header("Location: ver.php?nome=$_POST[nome]"); break; } ?> ai em ver.php pega o nome com $_GET['nome'] ?? Compartilhar este post Link para o post Compartilhar em outros sites
Alaerte Gabriel 662 Denunciar post Postado Julho 25, 2008 pode sim. Compartilhar este post Link para o post Compartilhar em outros sites
Tsubaru 1 Denunciar post Postado Julho 25, 2008 Tenta assim: <?php if(isset( $_POST['btn'] ) ) { switch($_POST['btn']) { case "Cadastrar": include("registrar.php"); break; case "Visualizar": include("ver.php"); break; } } else { ?> <form name="form1" method="POST" action="<?php $PHP_SELF; ?>" > <input type="text" name="nome" /> <input type="submit" name="btn" value="Cadastrar"></input> <input type="submit" name="btn" value="Visualizar"></input> </form> <?php } ?> Compartilhar este post Link para o post Compartilhar em outros sites