Ir para conteúdo
Fórum Script Brasil
  • 0

Dois actions em uma mesma pagina


donny_

Pergunta

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...

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0

Tá, mas pelo seu código não vai funcionar mesmo, olha só o que você está fazendo, você submete o valor da página "a" para a própria página "a" e depois na página "b" ou "c" (onde b e c representam as páginas registrar e ver) espera que magicamente o valor apareça... ai realmente fica difícil, o que você pode vir a fazer é guardar o valor em uma sessão e ai nas outras páginas resgatar esse valor.

Link para o comentário
Compartilhar em outros sites

  • 0

Ok, mas você leu o que eu disse né? Guarda numa sessão e resgata, como pelo visto você não entendeu vou mastigar pra você... na página onde estão os botões...

<?php
session_start();
?>
<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
if(isset($_POST['nome'])){
//Pronto, aqui a "mágica" acontece
$_SESSION['ta_salvo'] = $_POST['nome'];
}
switch($_POST['btn'])
{
    case "Cadastrar":
    header("Location: registrar.php");
    break;
    
    case "Visualizar":
    header("Location: ver.php");
    break;
}
?>
Na página ver.php ou registrar.php... no topo você coloca...
<?php
session_start();
$nome = $_SESSION['ta_salvo'];
?>

Pronto, a partir dai é só chamar o $nome... só lembre-se de destruir a sessão com o unset quando não for mais usar...

Link para o comentário
Compartilhar em outros sites

  • 0

derrrrrr, meu amigo mau humorado, eu li sim o que você disse, e sei muito bem trabalhar com sessões, se eu postei minha duvida é porque existe uma maneira mais fácil de se trabalhar e conseguir o que eu quero, pois em JS é só isso:

<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>

se eu for criar sessoes pra todos os campos que tenho em meu form, serão 28 sessoes, e não gostaria disso... SUGESTÕES E DICAS aguardo respostas.

Link para o comentário
Compartilhar em outros sites

  • 0
se eu postei minha duvida é porque existe uma maneira mais fácil de se trabalhar e conseguir o que eu quero

Paradoxal a sua frase, pois se você sabe como é que se faz não postaria a dúvida né? Mas tudo bem...

De qualquer maneira vão três sugestões:

1 - Tenta redirecionar o cabeçalho passando os dados por querystring (sinceramente não sei se funciona);

2 - Envia por cURL e recebe a resposta;

3 - (A mais simples e lógica) submeta o formulário diretamente pra página que vai receber os dados, isso você faz com o JS...

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...