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

Manter dados no formulário após submit


faguanil

Pergunta

Boa tarde pessoal. Preciso de uma ajuda de vocês para resolver um problema. Tenho duas páginas, uma na qual o usuário digita seus dados chamada cadusuario.php

<script language="javascript">

function valida_dados ()

{

if(form.nome.value == "")

{

alert ("Por favor, digite seu nome.");

document.form.nome.focus();

return false;

}

if(form.usuario.value == "")

{

alert ("Por favor, digite seu nome de usuário.");

document.form.usuario.focus();

return false;

}

if(form.senha.value == "")

{

alert ("Por favor, digite a senha.");

document.form.senha.focus();

return false;

}

if(form.confsenha.value == "")

{

alert ("Por favor, confirme a senha.");

document.form.confsenha.focus();

return false;

}

else

{

if(form.confsenha.value != form.senha.value)

{

alert("Confirmação de senha diferente. Tente novamente.");

document.form.confsenha.focus();

return false;

}

}

if(form.email.value == "" || form.email.value.indexOf('@', 0) == -1 || form.email.valeu.indexOf('.', 0)== -1)

{

alert ("E-mail inválido.Por favor, digite o e-mail.");

document.form.email.focus();

return false;

}

return true;

}

</script>

<body>

<div id="borda_conteudo">

<div id="banner">

</div>

<div id="navegacao">

<div id="menu">

</div>

</div>

<div id="conteudo">

<div id="tabela">

<form action="cadusuario_envia.php" method="post" name="form" id="form" onSubmit="return valida_dados(this)">

<table width="330" align= "Center" bgcolor="#B7CBA8">

<tr>

<td bgcolor="#3C9A50"><h1><p align="center">Cadastro de Novo Usuário</p></h1></td>

</tr>

<tr>

<td></td>

</tr>

<tr>

<td> Nome:</td>

</tr>

<tr>

<td> <input type="text" name="nome" size="60" class="campos_texto"></td>

</tr>

<tr>

<td> Usuário:</td>

</tr>

<tr>

<td> <input type="text" name="usuario" size="60" class="campos_texto"></td>

</tr>

<tr>

<td> Senha:</td>

</tr>

<tr>

<td><input type="password" name="senha" size="60" maxlength="6" class="campos_texto"></td>

</tr>

<tr>

<td> Confirmar Senha:</td>

</tr>

<tr>

<td><input type="password" name="confsenha" size="60" maxlength="6" class="campos_texto"></td>

</tr>

<tr>

<td>E-mail:</td>

</tr>

<tr>

<td><input type="text" name="email" size="60" class="campos_texto"></td>

</tr>

<tr>

<td></td>

</tr>

<tr>

<td align="center">

<input type = "submit" value="Cadastrar" name="cadastrar" class="botao">

<input type="button" value="Cancelar" class="botao" onclick="java script: location.href='index.php';">

</td>

</tr>

<tr>

<td></td>

</tr>

</table>

</form>

</div>

</div>

<div id="rodape">

Copyright © 2012 Site do Professor Fábio Jr. Alves. Todos os direitos reservados.

</div>

</div>

</body>

</html>

E outra para receber os dados e armazenar no BD Chamada cadusuario_envia:

<body>

<div id="borda_conteudo_login">

<?php

$nome = $_POST["nome"];

$usuario = $_POST["usuario"];

$senha = $_POST["senha"];

$email = $_POST["email"];

//acesso ao banco de dados

include "conecta_banco.inc";

$comando = "Select *

From usuario

Where usuario = '$usuario'";

$resultado = mysql_query($comando, $con);

$linha = mysql_num_rows($resultado);

if($linha == 0) //testa se a consulta retornou algum registro

{

$comando = "Insert Into usuario(nome,usuario,senha,email) values('$nome','$usuario','$senha','$email')";

$resultado = mysql_query($comando, $con);

echo "<script>window.location='index.php';alert('Prezado $nome, seus dados foram cadastrados com sucesso no sistema.');</script>";

}

else

{

echo "<script>window.location='cadusuario.php';alert('Prezado $nome, este nome de usuário já existe cadastrado no sistema, por favor cadastre outro nome.');</script>";

}

mysql_close($con);

?>

</div>

</body>

A dúvida que tenho é a seguinte caso alguém tente cadastrar o nome de um usuário que já existe a página cadusuario_envia chama novamente a página cadusuario echo "<script>window.location='cadusuario.php';alert('Prezado $nome, este nome de usuário já existe cadastrado no sistema, por favor cadastre outro nome.');</script>"; porém os campos do formulário serão todos apagados, gostaria de saber como faço para manter as informações digitadas pelo usuário neste formulário evitando assim que ele tenha que digitar novamente as mesmas informações. Obrigado.

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0
Você não espera mesmo que eu vá alterar o seu script né? Dá uma pesquisa sobre sessões e então faça tentativas, se não conseguir ai retorne.

Pelo que pesquisei terei que criar outra página, ou seja, terei 3 páginas, como o exemplo:http://www.codigosnaweb.com/forum/Enviando-dados-do-form-com-SESSION_15_5449.html

Link para o comentário
Compartilhar em outros sites

  • 0
Você não espera mesmo que eu vá alterar o seu script né? Dá uma pesquisa sobre sessões e então faça tentativas, se não conseguir ai retorne.

Pelo que pesquisei terei que criar outra página, ou seja, terei 3 páginas, como o exemplo:http://www.codigosnaweb.com/forum/Enviando-dados-do-form-com-SESSION_15_5449.html

Quase consegui porém ta gerando o seguinte erro Notice: Undefined index: nome in E:\sites\SASC - Sistema de Avaliacao da Sustentabilidade em Cafeeiros\cadusuario.php on line 60, como eu faria para inicializar esta variável nome, no código abaixo:

<body>
<?php 
 session_start();
 if($_POST['nome']) {
   $_SESSION['nome'] = $_POST['nome'];
 } 
?>
<div id="borda_conteudo"> 
       <div id="banner">
       </div>
       <div id="navegacao">
         <div id="menu">
            
         </div>
        </div>
 <div id="conteudo">
    <div id="tabela">
        <form action="cadusuario_envia.php" method="post" name="form" id="form" onSubmit="return valida_dados(this)">
        <table width="330" align= "Center" bgcolor="#B7CBA8">
          <tr>
            <td bgcolor="#3C9A50"><h1><p align="center">Cadastro de Novo Usuário</p></h1></td>
          </tr>
          <tr>
            <td></td>
          </tr>
          <tr>
            <td> Nome:</td>
          </tr>
          <tr>
            <td> <input type="text" name="nome" size="60" class="campos_texto" value="<?php if(isset($_SESSION['nome'])) { echo $_SESSION['nome']; } ?>"></td>
          </tr>
          <tr>
            <td> Usuário:</td>
          </tr>
          <tr>
            <td> <input type="text" name="usuario" size="60" class="campos_texto"></td>
          </tr>
          <tr>
            <td> Senha:</td>
          </tr>
          <tr>
            <td><input type="password" name="senha" size="60" maxlength="6" class="campos_texto"></td>
          </tr>
          <tr>
            <td> Confirmar Senha:</td>
          </tr>
          <tr>
            <td><input type="password" name="confsenha" size="60" maxlength="6" class="campos_texto"></td>
          </tr>
          <tr>
            <td>E-mail:</td>
          </tr>
          <tr>
            <td><input type="text" name="email" size="60" class="campos_texto"></td>
          </tr>
          <tr>          
            <td></td>
          </tr>
          <tr>
           <td align="center">
            <input type = "submit" value="Cadastrar" name="cadastrar" class="botao">
            <input type="button" value="Cancelar" class="botao" onclick="java script: location.href='index.php';">
           </td>
         </tr>
         <tr>
            <td></td>
          </tr>
        </table>
      </form>
    </div>
 </div>
        <div id="rodape">
             Copyright © 2012 Site do Professor Fábio Jr. Alves. Todos os direitos reservados.
        </div>
</div>
</body>

Link para o comentário
Compartilhar em outros sites

  • 0

Problema resolvido abaixo os códigos:

<form action="cadusuario_envia.php" method="post" name="form" id="form" onSubmit="return valida_dados(this)">
        <table width="330" align= "Center" bgcolor="#B7CBA8">
          <tr>
            <td bgcolor="#3C9A50"><h1><p align="center">Cadastro de Novo Usuário</p></h1></td>
          </tr>
          <tr>
            <td></td>
          </tr>
          <tr>
            <td> Nome:</td>
          </tr>
          <tr>
            <td> <input type="text" name="nome" size="60" class="campos_texto" value="<?php session_start(); if(isset($_SESSION['nome'])) { echo $_SESSION['nome']; } ?>"></td>
          </tr>
          <tr>
            <td> Usuário:</td>
          </tr>
          <tr>
            <td> <input type="text" name="usuario" size="60" class="campos_texto"></td>
          </tr>
          <tr>
            <td> Senha:</td>
          </tr>
          <tr>
            <td><input type="password" name="senha" size="60" maxlength="6" class="campos_texto" value="<?php if(isset($_SESSION['senha'])) { echo $_SESSION['senha']; } ?>"></td>
          </tr>
          <tr>
            <td> Confirmar Senha:</td>
          </tr>
          <tr>
            <td><input type="password" name="confsenha" size="60" maxlength="6" class="campos_texto" value="<?php if(isset($_SESSION['senha'])) { echo $_SESSION['senha']; } ?>"></td>
          </tr>
          <tr>
            <td>E-mail:</td>
          </tr>
          <tr>
            <td><input type="text" name="email" size="60" class="campos_texto"value="<?php if(isset($_SESSION['email'])) { echo $_SESSION['email']; } ?>"></td>
          </tr>
          <tr>          
            <td></td>
          </tr>
          <tr>
           <td align="center">
            <input type = "submit" value="Cadastrar" name="cadastrar" class="botao">
            <input type="button" value="Cancelar" class="botao" onclick="java script: location.href='index.php';">
           </td>
         </tr>
         <tr>
            <td></td>
          </tr>
        </table>
      </form>
e
<?php
        //abre a sessão
        session_start();
        $_SESSION['nome'] = $_POST['nome'];
           $nome = $_POST["nome"];
        $usuario = $_POST["usuario"];
        $_SESSION['senha'] = $_POST['senha'];
        $senha = $_POST["senha"];
        $_SESSION['email'] = $_POST['email'];
        $email = $_POST["email"];

        //acesso ao banco de dados
        include "conecta_banco.inc";

        $comando = "Select * 
                    From usuario 
                    Where usuario = '$usuario'";
                          
        $resultado = mysql_query($comando, $con);
        $linha = mysql_num_rows($resultado);

        if($linha == 0) //testa se a consulta retornou algum registro
        {
            
            $comando = "Insert Into usuario(nome,usuario,senha,email) values('$nome','$usuario','$senha','$email')";
            $resultado = mysql_query($comando, $con); 
            echo "<script>window.location='index.php';alert('Prezado(a) $nome, seus dados foram cadastrados com sucesso no sistema.');</script>";    
            //fecha a sessão
            session_destroy();
        }
        else
        {
            echo "<script>window.location='cadusuario.php';alert('Prezado(a) $nome, este nome de usuário já existe cadastrado no sistema, por favor cadastre outro nome.');</script>";
        }
        mysql_close($con);
    ?>

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