Jump to content
Fórum Script Brasil
  • 0

Manter dados no formulário após submit


faguanil

Question

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 to comment
Share on other sites

6 answers to this question

Recommended Posts

  • 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 to comment
Share on other 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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152k
    • Total Posts
      651.6k
×
×
  • Create New...