Ir para conteúdo

Arquivado

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

ORP

Como manter valores nas variáveis quando submeter um formulario

Recommended Posts

Olá Pessoal,

Eu criei um Formulário (Php, html) onde mostro várias informações na tela, e ao final, existe um botão (<input type="submit" ...>) que o usuário clica par ver mais outras informações, complementando as que já estavam na tela.

O problema que estou encontrando é que quando clico no botão (submit) a aplicação "perde" as variáveis que eu tinha carregado antes. Se referenciar a variável, dá a mensagem "Notice: Undefined variable:".

Como posso criar variáveis que se mantenham com seus valores após clicar no botão ( <input Type="submit" .... > ) ???

Ou, como devo fazer para que o usuário possa interagir (clicar) e a aplicação não perder estas variáveis ???

Obs.: são muitas variáveis, inclusive com arrays com mais de 500 ocorrências.

Solicito a ajuda dos colegas, por favor.

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você poderia utilizar uma sessão no php e armazenar nela.

 

 

session_start();
$_SESSION["nome"] = $_POST['nome'];
 

 

ou usar cookie.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Normalmente, um form em abas, utiliza javascript ao invés de enviar o submit ao PHP.

 

As abas são apenas escondidas/exibidas. Toda a informação continua presente no HTML.

 

Caso queira utilizar apenas PHP, utilize o que foi demonstrado no post #2.

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por ivansilvask83
      Pessoal preciso mostrar na tabela o valor de nome, email e cotas o problema é que não estou conseguindo mostrar a quantidade de cotas porque preciso de 2 variaveis foreach ou 2 foreach.
      segue o codígo:
      <tbody>                                 <?php                                 if(!empty($indicados_nivel)){                                     foreach($indicados_nivel as $indicado){                                         $indicadoInfo = $this->conta_model->InfoUser($indicado); foreach ($cotas as $cota) {                                     ?>                                     <tr>                                     <td width="200">                                          <?php echo $indicadoInfo->nome;?>                                     </td>                                     <td width="250">                                         <?php echo $indicadoInfo->email;?>                                     </td>                                     <td width="50">                                         <?php echo $cota->quantidade; ?> //Aqui Preciso Mostrar a Quantidade de cotas que cada usuario tem//                                     </td>                                 </tr>                                     <?php                                     }                                 }                                 ?> </tbody>  
    • Por Carlos - Aracaju
      Olá, pretendo criar um sistema de sorteio de palavras onde o usuário coloca-se os nomes que quiser e quantos quiser, porem n consigo fazer com que o sorteio seja bem sucedido, não consigo achar uma solução, quem poder me ajudar, desde já agradeço
      esse é meu código:
      <?php if ($_POST) { $controle = 1; $tipo = 'nome'; $quantidade = $_POST['quant']; $rand = rand(1, $quantidade); $tdnome = ''; while($controle <= $quantidade){ $result = $tipo.$controle; $nomes = $_POST[$result]; echo $controle.' - '.$nomes . '<br />'; if ($controle < $quantidade) { $tdnome .= '"'.$nomes.'", '; } else{ $tdnome .= '"'.$nomes.'"'; } $controle++; } print '<br>'.$tdnome.'<br>'; echo "<br><b>sorteado: ".$array[$rand]."</b>"; } ?> <!DOCTYPE html> <html> <head> <title>sorteio</title> <script type="text/javascript" src="http://code.jquery.com/jquery-1.7.2.min.js"></script> <script type="text/javascript"> var numero = 1; function adicionar() { numero++; $("#divPrincipal").append("<input type='text' name='nome"+numero+"' placeholder='nome "+numero+"' value='nome "+numero+"' /><br><br>"); $("#quant").val(numero); $("#numerodenomes").text(numero); } </script> </head> <body> <form name="teste" method="post" action=""> <!-- <textarea name="text"></textarea> --> <input id="quant" type="text" name="quant" value="1" style="display: none;" /> <p ><b>quantidade de nomes:</b> <q id="numerodenomes">1</q></p> <br><br><br><br> <div id="divPrincipal"> <input type="text" name="nome1" placeholder="nome 1" value="nome 1" /> <br><br> </div> <input type="submit" name="enviar" value="Enviar" /> </form> <a href="javascript: adicionar()">Adicionar</a> </body> </html>  
    • Por lamorim1904
      Caros, boa tarde!
       
      Primeiramente me desculpem se estou abrindo tópico repetido ou de maneira errada, procurei aqui no fórum mas talvez a forma que estou procurando ou a minha falta de conhecimento sobre a área não está me permitindo encontrar a solução.
      Não entendo quase NADA de programação e estou realizando um projeto que me cobra um pouco neste sentido, vou tentar explicar:
       
      Estou criando um hotspot inteligente onde o próprio cliente se cadastra, ele preenche um formulário e posterior a isso eu libero a conexão dele.
      O meu problema está depois que ele cria o seu cadastro, as informações vão para meu banco de dados mas nao retornam ao cliente, portanto a conexão não é liberada.
       
      Eu encontrei uma solução mas não estou conseguindo usa-la da maneira que gostaria, após usuário se cadastrar, eu direciono ele para a pagina de login e senha e caso ele digite os dados que ele acabou de preencher, a conexão é liberada. 
       
      Eu gostaria de automatizar esse processo, identificar a variavel X que eu usei para escrever no meu banco de dados e inseri-la no campo de usuario e senha e se possivel submeter a informação para o usuario nem ver essa tela de login e senha. Sabem me dizer se tem como?
       
      Para ficar mais claro, vou postar os codigos;
       
      <NESTE PONTO O CLIENTE JA PREENCHEU O CADASTRO E EU USO AS VARIAVEIS PARA ESCREVER NO MEU BANCO DE DADOS>
      <EU GOSTARIA DE USAR A VARIAVEL $MOBILE COMO USUARIO E SENHA NA PARTE DE JAVA ABAIXO>

      $sql = "INSERT INTO radcheck (UserName, Attribute, op, Value) VALUES ";
      $sql .= "('$MOBILE', 'Cleartext-Password', ':=', '$MOBILE')";
      mysqli_query($strcon,$sql) or die("Erro ao tentar cadastrar registro");

      $sql = "INSERT INTO radreply (UserName, Attribute, op, Value) VALUES ";
      $sql .= "('$MOBILE', 'Mikrotik-Rate-Limit', ':=', '512k/1024k')";
      mysqli_query($strcon,$sql) or die("Erro ao tentar cadastrar registro");
      mysqli_close($strcon);
      echo "Cliente cadastrado com sucesso!";
      ?>
      <html>
      <head><title>...</title></head>
      <body>
      $(if chap-id)
      <noscript>
      <center><b>JavaScript required. Enable JavaScript to continue.</b></center>
      </noscript>
      $(endif)
      <center>If you are not redirected in a few seconds, click 'continue' below<br>
      <form name="redirect" action="http://201.82.110.3/mkloginteste2.php" method="post">
      <input type="hidden" name="mac" value="$(mac)">
      <input type="hidden" name="ip" value="$(ip)">
      <input type="hidden" name="username" value="$MOBILE">
      <input type="hidden" name="link-login" value="$(link-login)">
      <input type="hidden" name="link-orig" value="$(link-orig)">
      <input type="hidden" name="error" value="$(error)">
      <input type="hidden" name="chap-id" value="$(chap-id)">
      <input type="hidden" name="chap-challenge" value="$(chap-challenge)">
      <input type="hidden" name="link-login-only" value="$(link-login-only)">
      <input type="hidden" name="link-orig-esc" value="$(link-orig-esc)">
      <input type="hidden" name="mac-esc" value="$(mac-esc)">
      <input type="submit" value="continue">
      </form>
      <script language="JavaScript">
      <!--
         document.redirect.submit();
      //-->
      </script></center>
      </body>
      </html>
    • Por Jefferson andre
      Ola,
       
      Criei uma rotina que eh chamada dentro do html, esta rotina abre um banco de dados e pega os valores de algumas variaveis contendo caminhos para video aulas e entao fecha o banco de dados, ao retornar ao html eu quero usar estas variaveis para abrir videos que estarao sendo demonstrados em forma de links.
       
      A mesma situacao foi resolvida dentro do php com imagens para uma outra situacao mas nao consigo fazer isso para videos, se eu conseguir nao preciso puxar as variaveis para o html.
      <?php
      // fazendo uma conexão com o banco de dados
      include("conexao.php");
      //pesquisa
      $resultado = $arquivo->query("SELECT * FROM divulgacao WHERE ativo = 'S' AND tipo = 'IM'");
      if (false === $resultado) {
          echo mysqli_error();
      }
      $linha=mysqli_fetch_array($resultado);
      $caminho_divulgacao = $linha["caminho"];
       
      //echo "<font face='Arial'><span class='style14'>$caminho_divulgacao</span></font>";
      $exibir = "<img src=".$caminho_divulgacao." /><br />";
      echo $exibir ;
       
      mysqli_close($arquivo);
      ?>
       
      Alguma dica ?
    • Por MAKAVELIQUE
      Saudações, criei meu perfil hoje, sou iniciante neste mundo da programação, alguém poderia me ajudar a compreender isso? é um código em javascript que eu estou escrevendo,    variáveis b1, b2, b3 e c1, c2 e c3 recebem valores parecidos com estes, contudo,   parece que os if´s não estão fazendo as devidas verificações pra abrir o document.write de acordo com cada condição...
      <script> function teste() {     img1.src = "foto.png";                b1="J";// esses valores podem variar...     c1="C";// esses valores podem variar...     b2="J";// esses valores podem variar...     c2="C";// esses valores podem variar...     b3="J";// esses valores podem variar...     c3="C";// esses valores podem variar...     if(b1 == c1 && b1 == b3){//daqui pra baixo parece que não funciona...     if(c1==c2 && c2==c3){                 document.write ("1");     }         if(c1!=c2 && c2 != c3 && c1!= c3){     document.write ("2"); }          if(c1== c2 && c1 != c3 or c2 == c3 && c2 != c1 or c1== c3 && c2 != c1 ){       document.write ("3"); } } } </script> <a href="#" onClick="teste();"><img style="position:absolute; left:20px; top:275px; " src="imagem.gif" name="img1"/></a>  
      <script> //Observação: assim funciona:  function teste() { img1.src = "foto.png";  } </script> <a href="#" onClick="teste();"><img style="position:absolute; left:20px; top:275px; " src="imagem.gif" name="img1"/></a>  
×

Informação importante

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