Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

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

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.

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.

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por ILR master
      Fala galera.
      Espero que todos estejam bem.
      Seguinte: Tenho um arquivo xml onde alguns campos estão com : (dois pontos), como o exemplo abaixo:
       
      <item>
      <title>
      d sa dsad sad sadasdas
      </title>
      <link>
      dsadas dsa sad asd as dsada
      </link>
      <pubDate>sadasdasdsa as</pubDate>
      <dc:creator>
      d sad sad sa ad as das
      </dc:creator>
      </item>
       
      Meu código:
       
      $link = "noticias.xml"; 
      $xml = simplexml_load_file($link); 
      foreach($xml -> channel as $ite) {     
           $titulo = $ite -> item->title;
           $urltitulo = $ite -> item->link;
           print $urltitulo = $ite -> item->dc:creator;
      } //fim do foreach
      ?>
       
      Esse campo dc:creator eu não consigo ler. Como faço?
       
      Agradeço quem puder me ajudar.
       
      Abs
       
       
    • Por First
      Olá a todos!
       
      Eu estou criando um sistema do zero mas estou encontnrando algumas dificuldades e não estou sabendo resolver, então vim recorrer ajuda de vocês.
      Aqui está todo o meu código: https://github.com/PauloJagata/aprendizado/
       
      Eu fiz um sistema de rotas mas só mostra o conteúdo da '/' não sei porque, quando eu tento acessar o register nada muda.
      E eu também quero que se não estiver liberado na rota mostra o erro de 404, mas quando eu tento acessar um link inválido, nada acontece.
      Alguém pode me ajudar com isso? E se tiver algumas sugestão para melhoria do código também estou aceitando.
       
       
      Desde já, obrigado.
    • Por landerbadi
      Olá pessoal, boa tarde
       
      Tenho uma tabela chamada "produtos" com os seguintes campos (id, produto) e outra tabela chamada "itens" com os seguintes campos (id, prod_01, prod_02, prod_03, prod_04).
       
      Na tabela produtos eu tenho cadastrado os seguintes produtos: laranja, maçã, uva, goiaba, arroz, feijão, macarrão, etc.
       
      Na tabela itens eu tenho cadastrado os itens da seguinte maneira:
       
      1, laranja, uva, arroz, feijão;
      2, maçã, macarrão, goiaba, uva;
      3, arroz, feijão, maçã, azeite
       
      Meu problema é o seguinte: 
      Eu escolho um produto da tabela "produtos", por exemplo "uva".  Preciso fazer uma consulta na tabela "itens" para ser listado todos os registros que contenham o produto "uva" e que todos os demais produtos estejam cadastrados na tabela "produtos".
       
      No exemplo acima seria listado apenas dois registros, pois o terceiro registro não contém o produto "uva". 
       
      Alguém pode me ajudar? Pois estou quebrando a cabeça a vários dias e não consigo achar uma solução.
×

Informação importante

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