Ir ao conteúdo

recuperar variavel em formulario de cadastro php


Ir à solução Resolvido por xrogerinho,

Posts recomendados

Postado

Olá amigos!

 

Tenho um formulario de cadastro que acesso atraves de outro formulario post onde informo o "usuario"

 

daí eu recupero o $_post['usuario'] do formulario anterior assim: $usuario = $_post['usuario']

 

porém ao finalizar um cadastro onde meu formulario reabre para um novo cadastro

 

a variavel $usuario desaparece e dá erro no formulario de cadastro

 

 

 

Postado

 Olá amigo Arley,

 

nesse formulario eu passo a variavel para o meu formulario de cadastro

o meu formulario de cadastro está configurado para reabrir a cada cadastro feito

 

mas quando confirmo o primeiro cadastro o formulario volta já sem a variavel,

descobri que preciso criar "sessão" para que a variável se torne fixa, e preciso criar uma "sessão" nesse formulario para deixar a minha variável fixa, no caso, o campo "setor"

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>Lançamentos</title></head><body><div align="center"> <br />  <table width="900" border="0" cellspacing="0">    <tr>      <td bgcolor="#99CCFF"><div align="center"><img src="timbrado.png" alt="" width="391" height="65" /></div></td>    </tr>  </table>  <br /></div><p> </p><form id="form1" name="form1" method="post" action="lancamentos3.php">      <div align="center">Setor:        <input type="text" name="setor" value="" />        <input type="submit" value="Enviar" />        </div>      </div></form></body></html>
Postado

 

 Olá amigo Arley,

 

nesse formulario eu passo a variavel para o meu formulario de cadastro

o meu formulario de cadastro está configurado para reabrir a cada cadastro feito

 

mas quando confirmo o primeiro cadastro o formulario volta já sem a variavel,

descobri que preciso criar "sessão" para que a variável se torne fixa, e preciso criar uma "sessão" nesse formulario para deixar a minha variável fixa, no caso, o campo "setor"

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>Lançamentos</title></head><body><div align="center"> <br />  <table width="900" border="0" cellspacing="0">    <tr>      <td bgcolor="#99CCFF"><div align="center"><img src="timbrado.png" alt="" width="391" height="65" /></div></td>    </tr>  </table>  <br /></div><p> </p><form id="form1" name="form1" method="post" action="lancamentos3.php">      <div align="center">Setor:        <input type="text" name="setor" value="" />        <input type="submit" value="Enviar" />        </div>      </div></form></body></html>

 

Amigo, caso você dê o submit nesse FORM você consegue sim recuperar via $_POST..

Segue exemplo:

<?php		if (count($_GET) <= 0){			echo '<form method="POST" action="'.$_SERVER['PHP_SELF'].'?actionform=true"> <input type="text" name="valor" value="test321" /> <input type="submit" value="vai" /> </form>';	} else if ( $_GET["actionform"]) {		echo "Valor do campo: " . $_POST["valor"];	}?>

Pode fazer o teste aqui:

http://phpfiddle.org/ 

 

  1. Acesse a aba de Code Space;
  2. Cole o código;
  3. Clique em RUN ou pressione F9;

Qualquer dúvida, pode perguntar.

  • Curtir 1
Postado

Olá, amigo @Pimptech, obrigado pela atenção

 

eu consigo pegar a variavel no formulario de cadastro, o problema é que meu formulario de cadastro trabalha em loop, a cada cadastro feito ele reabre para novo cadastro, daí que a variavel desaparece.

 

esse codigo que você me passou consegue fazer isso? em qual momento ele age? no formulario que envia ou o formulario que recebe?

Postado

Olá @Pimptech,

 

é o contrario, esse codigo que postei gera uma variavel chamada "$setor" e o formulario "lançamentos.php" recebe e grava essa variavel no campo setor da minha tabela,

 

o formulário lancamentos.php quando grava um registro retorna para ele mesmo,

 

é nesse momento que eu preciso recuperar a mesma variavel, mas o formulario lancamentos.php só pega a variavel quando recebe do formulario anterior...

Postado

@xrogerinho Se for realmente o que eu entendi, você não vai conseguir realmente. Quando você dá um submit no formulário HTML ele gera sim a váriável, mas depois desse envio se você dá um reload e volta para a página "lancamentos" para fazer alguma outra verificação a variável não vai mais existir.

 

Existem duas opções, uma você já sabe: Sessions.

A segunda seria você mudar a sua lógica ou trabalhar com ajax.

 

Abraço!

  • Curtir 2
Postado

AFF @Pimptech, o amigo use cookie é mais fácil!!

setcookie("nomedocookie", $variavel, time()+3600);

você pode interagir com o php e modificar cada vez que for feito um cadastro, quando a página atualizar você terá aquela variável ainda usando $_COOKIE["nomedocokie"]

 

mais informações consulte cookie no manual do php

 

https://php.net/manual/pt_BR/

  • Curtir 1
Postado

AFF @Pimptech, o amigo use cookie é mais fácil!!

setcookie("nomedocookie", $variavel, time()+3600);

você pode interagir com o php e modificar cada vez que for feito um cadastro, quando a página atualizar você terá aquela variável ainda usando $_COOKIE["nomedocokie"]

 

mais informações consulte cookie no manual do php

 

https://php.net/manual/pt_BR/

 

Caro amigo, @Arley Fellipe .

 

Nesse caso você descarta a segurança. Entre session e cookie, acho que cookie é um pouquinho menos seguro não acha ?

Ainda mais pra ele que tá validando um fomulário de cadastro. Para um usuário COMUM não há com o que se preocupar, mas e um usuário que quer talvez descobrir o que a rotina faz e tudo mais ?

 

Posso ser neurótico hahah, mas prezo pela segurança.

 

Abraço!

  • Curtir 2
Postado

@Pimptech Sim cookie é inseguro, mas não é a senha ou cpf que ele tem na variável $_POST['usuario'] deve ser um nome de user ou id, até o facebook salva cookie do nome de usuário ou id! @xrogerinho se você for salvar uma senha e recuperar usando variáveis use session;

 

@Arley Fellipe

 

Sim, o facebook faz ou fazia não sei o que eles mudaram. E por causa do uso desses cookies existiu aquela falha de se roubar o cookie dos usuário e criá-los em suas respectivas máquinas com o id do usuário e já estar logado com a conta de outro usuário.

Só precisamos deixar claro os perigos de se usar cookie, para que ele não o faça de maneira errada.

 

Abraço!

  • Curtir 2
  • Moderador
Postado

@Pimptech, to contigo irmão.

 

Recomendo extritamente usar as sessions.

Cookie é uma tecnologia obsoleta.. e provavelmente  vai ser abandonada assim como o flash.

 

Apenas Guarde os dados em variáveis de sessão. 

 

Não tem mistério.

  • Curtir 2
  • Solução
Postado

valeu galera fera!

 

consegui resolver assim:

 

pagina de destino:

pagina_de_cadastro_que_recebe_a_variavel.phpsession_start();if (isset($variavel)) {$_SESSION['variavel'] = $variavel;} else {$variavel = $_SESSION['variavel'];}dessa forma, na primeira vez que a pagina for aberta, ela encontrará a variavel e criará a sessão,daí em diante ela passará a utilizar variável da sessão.obrigado a todos!
  • Curtir 2
  • Membro VIP
Postado

PS: Não existe motivo para utilizar cookie para isso. COOKIE tem um propósito, ruim (como citado pelo @dif), de manter alguns dados de identificação com o site no client-side, e não deve ser utilizado para outros fins.

PS2: Também não é "mais fácil" :huh:

:joia:

  • Curtir 3
Postado

@Pimptech o facebook ainda utiliza o cookie ele tem o nome de c_user, @dif impossível a tecnologia cookie ser abandonada porque todos os sites que usam ou não propagandas usam cookie para armazenar interesses do usuário no site então a 0,00001 % de chance que cookie seja eliminado da web, e mais o forum.clubedohardware esta usando 23 cookie, ele poderá usar session em login de usuário e armazenar interesses em cookie correto??? haha B)

  • Curtir 1
Postado

@Pimptech o facebook ainda utiliza o cookie ele tem o nome de c_user, @dif impossível a tecnologia cookie ser abandonada porque todos os sites que usam ou não propagandas usam cookie para armazenar interesses do usuário no site então a 0,00001 % de chance que cookie seja eliminado da web, e mais o forum.clubedohardware esta usando 23 cookie, ele poderá usar session em login de usuário e armazenar interesses em cookie correto??? haha B)

 

Sim.. É como o Lucas disse...

Se puder optar por algo mais seguro...

 

Abraço!

  • Curtir 2
  • Moderador
Postado

@Arley Fellipe

 

Antes de afirmar algo, procure pesquisar sobre ela antes.

 

O artigo deste cara: http://www.iprospect.com/pt/br/blog/o-cookie-chegando-ao-fim-da-linha/( leia do inicio ao fim)

Pode não ser a verdade absoluta, mas faz o extremo sentido.

 

Cookie é obsoleto, inseguro e não deve ser usado mais.

Aí você diz: "ah mas a maioria dos sites ainda usam.. inclusive o fórum.."  

Aí eu te digo,  é questão de tempo meu caro amigo. os cookies de fato vão sumir assim como  flash... mas no seu tempo, assim como todo o ciclo de vida.

  • Curtir 2
Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!