Ir para conteúdo
paulaodaregulage

Atualizar página web junto com as variáveis

Recommended Posts

Srs ...boa noite

podem me ajudar por favor...

 

eu estou  atualizando a página automaticamente,mas ao atualizar a página as variáveis n continuam....gostaria que elas continuassem...

 

 

pagina1.php

<form  name="form" id="form" action="pagina2.php" method="post"> 
variável 1<input type="text" name="variavel1"  ><br>
variável 2<input type="text" name="variavel2"    ><br>
variável 3<input type="text" name="variavel3"     ><br>
<input type="submit" name="botao" value="Enviar script" >
 
</form>

 

 

 

pagina2.php

 

<?php header('Refresh:10'); ?>   <!-- qdo eu faço esse refresh   as variáveis abaixo n continuam nos "value=''" -->

<?php 
$variavel1=$_POST['variavel1'];
 $variavel2=$_POST['variavel2'];
$variavel3=$_POST['variavel3'];
?>




Variável 1<input type="text" name="variavel1"  value="<?php echo $variavel1; ?>"  ><br>
Variável 2<input type="text" name="variavel2"  value="<?php echo $variavel2; ?>"  ><br>
Variável 3<input type="text" name="variavel3"  value="<?php echo $variavel3; ?>"  >

 

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Use GET ao invés de POST.

página1:

<form  name="form" id="form" action="pagina2.php" method="get"> 
variável 1<input type="text" name="variavel1"  ><br>
variável 2<input type="text" name="variavel2"    ><br>
variável 3<input type="text" name="variavel3"     ><br>
<input type="submit" name="botao" value="Enviar script" >
</form>

página2:

<?php header('Refresh:10'); ?>   <!-- qdo eu faço esse refresh   as variáveis abaixo n continuam nos "value=''" -->

<?php 
$variavel1=$_GET['variavel1'];
 $variavel2=$_GET['variavel2'];
$variavel3=$_GET['variavel3'];
?>




Variável 1<input type="text" name="variavel1"  value="<?php echo $variavel1; ?>"  ><br>
Variável 2<input type="text" name="variavel2"  value="<?php echo $variavel2; ?>"  ><br>
Variável 3<input type="text" name="variavel3"  value="<?php echo $variavel3; ?>"  >

Caso seja necessário o uso do método post, você pode usar o setcookie() pra armazenar o valor no cache do navegador do usuário, dessa forma:

página1:

<form  name="form" id="form" action="pagina2.php" method="post"> 
variável 1<input type="text" name="variavel1"  ><br>
variável 2<input type="text" name="variavel2"    ><br>
variável 3<input type="text" name="variavel3"     ><br>
<input type="submit" name="botao" value="Enviar script" >
</form>

página2:

<?php 
header('Refresh:10');

$variavel1 = (isset($_POST['variavel1']) ? $_POST['variavel1'] : null);
$variavel2 = (isset($_POST['variavel2']) ? $_POST['variavel2'] : null);
$variavel3 = (isset($_POST['variavel3']) ? $_POST['variavel3'] : null);

if(isset($variavel1,$variavel2,$variavel3) AND !isset($_COOKIE["CookieVariavel1"],$_COOKIE["CookieVariavel2"],$_COOKIE["CookieVariavel3"])){
	setcookie("CookieVariavel1", $variavel1, time()+3600);
	setcookie("CookieVariavel2", $variavel2, time()+3600);
	setcookie("CookieVariavel3", $variavel3, time()+3600);
} else {
	$variavel1 = $_COOKIE['CookieVariavel1'];
	$variavel2 = $_COOKIE['CookieVariavel2'];
	$variavel3 = $_COOKIE['CookieVariavel3'];
}	
?>
Variável 1<input type="text" name="variavel1"  value="<?php echo $variavel1; ?>"  ><br>
Variável 2<input type="text" name="variavel2"  value="<?php echo $variavel2; ?>"  ><br>
Variável 3<input type="text" name="variavel3"  value="<?php echo $variavel3; ?>"  >

Explicação:

setcookie("CookieVariavel1", $variavel1, time()+3600);
  • setcookie() : função nativa do PHP (link caso queira estudar sobre setcookie()) http://php.net/manual/pt_BR/function.setcookie.php
  • CookieVariavel1 : O nome do cookie, você pode colocar o nome que quiser pra identificar o cookie.
  • $variavel1 : O valor que será associado e armazenado ao CookieVariavel1.
  • time()+3600 : É a duração do cookie, que nesse caso é de 1h.
$_COOKIE['CookieVariavel1']

Dá mesma forma que você utiliza $_POST ou $_GET pra pegar valores passados por um formulário ou url, você pode usar o $_COOKIE["nome_do_cookie"] pra pegar os valores de um cookie. 

(isset($_POST['variavel1']) ? $_POST['variavel1'] : null)

O nome dessa sintaxe acima é Operador Ternário, é pra simplificar o uso de if else em alguns casos.

(link caso queira estudar sobre Operador Ternário) 

http://php.net/manual/pt_BR/language.operators.comparison.php#language.operators.comparison.ternary

  • Obrigado! 1

Compartilhar este post


Link para o post
Compartilhar em outros sites
4 minutos atrás, paulaodaregulage disse:

tem um pequeno probleminha...rs

(usando o setcookie() )

qdo eu coloco valores diferentes na pagina1.php   e envio....  os valores da pagina2.php continuam com os valores antigos... 

 

Troca isso:

if(isset($variavel1,$variavel2,$variavel3) AND !isset($_COOKIE["CookieVariavel1"],$_COOKIE["CookieVariavel2"],$_COOKIE["CookieVariavel3"]))

por isso:

if(isset($variavel1,$variavel2,$variavel3))

Isso vai fazer com que o valor do cookie sempre seja atualizado toda vez que o formulário for preenchido e enviado.

  • Obrigado! 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Senha você nunca pode armazenar em cookies, tem que ser no banco de dados e criptografada com password_hash(). Aconselho estudar conexões PDO, tem vários tutoriais bacanas no Youtube, vai te dar uma boa noção de como construir uma área de login.

  • Gostei 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por Bobrinha
      Olá a todos.
       
      Tenho uma dúvida e não sei se é possível caso tenha alguma sugestão por favor avise.
       
      Adicionar resultado de um innerhtml dentro de um link atributo href é possível? ou seja eu tenho um input onde seleciono um ano 
       
      <select id="ano"> <option selected>2019</option> <option value="2018">2018</option> <option value="2017">2017</option> </select> <div id="anoAtual"></div> No query pego o valor ou seja o ano selecionado e jogo no html
       
      $("select").change(function () { document.getElementById("ano").innerHTML = document.getElementById("anoAtual").value; });  
      Agora vem a dúvida como eu jogo na URL? existe uma outra forma? é possível?
       
      <a href='resultado.php&ano=COMO JOGAR O ANO AQUI?'>  
       
    • Por MoiDVAec
      Boa tarde,
       
      Agradeço desde já a ajuda! Estou precisando conecta ao banco de dados e minha classe da o seguinte erro:
       
       Já fiz varias pesquisas ja fiz varias correções mas o erro persisti. Alguem pode me ajuda a entender onde errei?
       
      Segue o código:
       
      <?php abstract class banco{ //PROPRIEDADES public $servidor = "localhost:84"; public $usuario = "root"; public $senha = ""; public $nomeBanco = "ourlady"; public $conexao = NULL; public $dataset = NULL;//resultados das pesquisas public $linhasAfetadas = -1; //METODOS public function __construct(){ $this->connecta(); }//fim construtor public function __destruct(){ if($this->conexao != NULL): mysqli_close($this->conexao); endif; }//fim destrutor public function connecta(){ $con = $this->conexao = mysqli_connect($this->servidor,$this->usuario, $this->senha) or die($this->tratarErro(__FILE__,__FUNCTION__,mysqli_errno(),errorInfo(),True)); mysqli_select_db($con,$this->nomeBanco) or die($this->tratarErro(__FILE__,__FUNCTION__,mysqli_errno(),errorInfo(),True)); mysqli_set_charset($con,'utf8'); }// fim connecta public function inserirDados($objeto){ $conec = $this->connecta(); $erro = $this->tratarErro(__FILE__,__FUNCTION__); $sqlInserir = "INSERT INTO ".$objeto->tabela." ("; //loop inseri valores dentro do comando sql para ser inserido no banoc de dados for($i=0; $i<count($objeto->valores); $i++): $sqlInserir .= key($objeto->valores); //validação para inserir a virgula no meio do loop if($i < (count($objeto->valores)-1)): $sqlInserir .= ", "; else: $sqlInserir .= ") "; endif; next($objeto->valores); endfor; reset($objeto->valores); $sqlInserir .= "VALUES ("; for($i=0; $i<count($objeto->valores); $i++): // validação tenaria para puxar o segundo valor da array $sqlInserir .= is_numeric($objeto->valores[key($objeto->valores)]) ? $objeto->valores[key($objeto->valores)] : "'".$objeto->valores[key($objeto->valores)]."'"; //validação para inserir a virgula no meio do loop if($i < (count($objeto->valores)-1)): $sqlInserir .= ", "; else: $sqlInserir .= ");"; endif; next($objeto->valores); endfor; echo $sqlInserir; $query = mysqli_query($conec, $sqlInserir); return $query or $erro; }// fim inserir daddos public function tratarErro($arquivo=NULL, $rotina=NULL, $numErro=NULL, $msgErro=NULL, $geraExcept=FALSE){ if($arquivo==NULL) $arquivo="não informado"; if($rotina==NULL) $rotina="não informado"; if($numErro==NULL) $numErro=mysqli_connect_errno($this->conexao); if($msgErro==NULL) $msgErro=mysqli_connect_error($this->conexao); $resultado = 'Ocorreu o seguinte erro:<br/> <b>Arquivo</b>'.$arquivo.'<br/> <b>Rotina</b>'.$rotina.'<br/> <b>Erro</b>'.$numErro.'<br/> <b>Mensagem</b>'.$msgErro; if($geraExcept==False): echo($resultado); else : die($resultado); endif; }// fim tratarerro }// fim da claas banco ?>  
       
    • Por LuanMartinsTI
      Eu tenho o seguinte codigo para capturar minha camera e meu audio, toda vez que eu entro na pagina x ela executa o js e pede acesso a camera de quem acessa a pagina, porem eu vou bloquear essa pagina para que apenas eu ou pessoa autorizadas possam acessar, queria saber o seguinte, eu sei capturar o video e audio, mas como eu vou mostrar pro usuario o meu video e o meu audio??
      <script> video = document.createElement('video'); video.width = 320; video.height = 240; video.autoplay = true; var hasUserMedia = navigator.webkitGetUserMedia ? true : false; navigator.webkitGetUserMedia('video', function(stream){ video.src = webkitURL.createObjectURL(stream); }, function(error){ console.log("Navegador nao suporta", error); }); </script>  
    • Por allancisneiro
      pessoal boa tarde, estou construindo um arquivo HTML, porém estou com um problema de alinhamento do texto apartir do segundo<H1>.  já tentei  usar o comando align:"left". mas não funcionu.
      quem puder ajudar agradeço. a ideia é alinhar tudo à esquerda
       
      este arquivo contém este código-fonte:
       
      <!DOCTYPE html>
      <html>
      <head>
      <title>Título da página</title>
      <meta charset="utf-8"/>
      </head>
      <body>
      <h1>Lista não ordenada</h1>
      <ul>
      <li>LIVERPOOL</li>
      <li>CHELSEA</li>
      <li>MANCHESTER CITY</li>
      <li>MANCHESTER UNITED</li>
      <li>ARSENAL</li>
      <li>TOTTENHAM</li>

      <h1 align="left">Lista ordenada</h1>
      <OL>
      <li>LIVERPOOL</li>
      <li>CHELSEA</li>
      <li>MANCHESTER CITY</li>
      <li>MANCHESTER UNITED</li>
      <li>ARSENAL</li>
      <li>TOTTENHAM</li>

      </OL>
          
      </body>
      </html>

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.