Ir para conteúdo

POWERED BY:

Arquivado

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

11closed

[Resolvido] erro no cadastro grava com session

Recommended Posts

ola

 

fiz um script para quando der algum erro no cadastro do usuario ele volta com os formularios que ele tinha preenchidos ja com os dados dele, mais ñ esta dano certo quando eu cadastro o usuario dexo um formulario sem preencher para dar o erro e fazer o teste, o erro aparece e os formularios continuao vasios, se eu atualizar a pagina ai sim volta a session com todos os dados dele.

 

olha o codigo

 

<?php
session_start();
?>

<?php 
 echo '
  <form method="post" action="" enctype="multipart/form-data" >
   <ul>
    <li>Login*: <input type="text" name="login" class="minusculo" value="'.$_SESSION["login"].'"></input><a href="#" title="Login é um formulario obrigatório, deve conter no minimo 4 letras e no maximo 15 letras">?</a></li> 
    <li>Nome Completo*: <input type="text" name="ncompleto" value="'.$_SESSION["ncompleto"].'"></input><a href="#" title="Nome Completo é um formularios obrigatório">?</a></li> 
    <li>País*: <select name="Paises" id="Paises" onchange="mandaPais(this.value)">
     <option value="'.$_SESSION["Paises"].'" selected>'.$_SESSION["Paises"].'</option>
  ';      
       $sql = "SELECT iso, nome FROM lc_paises";
       $resultado = mysql_query($sql);
        while ($linha = mysql_fetch_array($resultado)){
        $nome = $linha["nome"];
        $iso = $linha["iso"];
         echo "<option value='$iso'>$nome</option>";
        };
      
 echo '
     <option value="Outro">Outro</option>
    </select><a href="#" title="País é um formularios obrigatório">?</a></li>
    <li>Estados*: 
     <div id="exibeEstado">
      <select name="Estados" id="Estados">
       <option value="'.$_SESSION["Estados"].'" selected>'.$_SESSION["Estados"].'</option>
       <option value="Outro">Outro</option>
      </select>
     </div><a href="#" title="Estado é um formularios obrigatório">?</a>
    </li> 
    <li>Cidades*: 
     <div id="exibeCidade">
      <select name="Cidade" id="Cidade">
       <option value="'.$_SESSION["Cidade"].'" selected>'.$_SESSION["Cidade"].'</option>
       <option value="Outra">Outra</option>
      </select>
     </div><a href="#" title="Cidades é um formularios obrigatório">?</a>
    </li>
    <li>Bairro*: <input type="text" name="bairro" value="'.$_SESSION["bairro"].'"></input><a href="#" title="Baiiro é um formularios obrigatório">?</a></li>
    <li>Endereço*: <input type="text" name="endereco" value="'.$_SESSION["endereco"].'"></input><a href="#" title="Endereço é um formularios obrigatório">?</a></li>
    <li>CEP*: <input type="text" name="cep" id="cep" onkeypress="return Numero(event);" value="'.$_SESSION["cep"].'"></input><a href="#" title="CEP é um formularios obrigatório">?</a> <a href="[url="http://www.buscacep.correios.com.br/servicos/dnec/index.do"]http://www.buscacep.correios.com.br/servicos/dnec/index.do[/url]" title="CEP" target="_blank">Confira o CEP aqui.</a></li>
    <li>Telefone: <input type="text" name="telefone" onkeypress="return Numero(event);" value="'.$_SESSION["telefone"].'"></input><a href="#" title="">?</a></li>
    <li>Celular: <input type="text" name="celular" onkeypress="return Numero(event);" value="'.$_SESSION["celular"].'"></input><a href="#" title="">?</a></li>
    <li>E-mail*: <input type="text" name="email"  class="minusculo" value="'.$_SESSION["email"].'"></input><a href="#" title="E-mail é um formularios obrigatório">?</a></li>
    <li>Senha*: <input  type="password" name="senha" value="'.$_SESSION["senha"].'"></input><a href="#" title="Senha é um formularios obrigatório, a Senha deve conter no minimo 5 letras e no maximo 15 letras">?</a></li>
    <li>Confirmação da Senha*: <input  type="password" name="rsenha" value="'.$_SESSION["rsenha"].'"></input><a href="#" title="Confirmação da Senha é um formularios obrigatório, esse formulario deve conter o mesmo valor do formulario Senha">?</a></li>
   </ul>  
	<input type="submit" name="cadastrar" value="Enviar Cadastro"></input>
  ';

  $login = $_POST["login"];
  $ncompleto = $_POST["ncompleto"];
  $Paises = $_POST["Paises"];
  $Estados = $_POST["Estados"];
  $Cidade = $_POST["Cidade"];
  $bairro = $_POST["bairro"];
  $endereco = $_POST["endereco"];
  $cep = $_POST["cep"];
  $telefone = $_POST['telefone'];
  $celular = $_POST['celular'];
  $email = $_POST["email"];
  $senha = $_POST["senha"];
  $rsenha = $_POST["rsenha"];
  $data = date("d/m/Y");
  
  $_SESSION["login"] = $_POST["login"];
  $_SESSION["ncompleto"] = $_POST["ncompleto"];
  $_SESSION["Paises"] = $_POST["Paises"];
  $_SESSION["Estados"] = $_POST["Estados"];
  $_SESSION["Cidade"] = $_POST["Cidade"];
  $_SESSION["bairro"] = $_POST["bairro"];
  $_SESSION["endereco"] = $_POST["endereco"];
  $_SESSION["cep"] = $_POST["cep"];
  $_SESSION["telefone"] = $_POST["telefone"];
  $_SESSION["celular"] = $_POST["celular"];
  $_SESSION["email"] = $_POST["email"];
  $_SESSION["senha"] = $_POST["senha"];
  $_SESSION["rsenha"] = $_POST["rsenha"];
  
  
if ( isset( $_POST['cadastrar'] ) ){

 $sql = mysql_query("SELECT * FROM ".$tabela."") or die ("Erro: ". mysql_error());

 /* FORMULARIOS VAZIU OU NÃO, @ no Email, quantidades de Letras em formularios, cadastro ja existe,  */
 $erro = array();
 while($linhas = mysql_fetch_array($sql)) {
  if($login == $linhas["login"]){ 
   $erro[] = "Login ja cadastrado no banco de dados </br>";
  }
  if($email == $linhas["email"]){ 
   $erro[] = "E-mail ja cadastrado no banco de dados </br>";
  }
 }
 if($login == ""){    	
  $erro[] = "</br> O Formulário Login é obrigatório </br>"; 
 }
 if($ncompleto== ""){
	$erro[] = "O Formulário Nome Completo é obrigatório </br>";
 }
 if($Paises == ""){
	$erro[] = "O Formulário Paises é obrigatório </br>";
 }
 if($Estados == ""){
	$erro[] = "O Formulário Estados é obrigatório </br>";
 }
 if($Cidade == ""){
	$erro[] = "O Formulário Cidade é obrigatório </br>";
 }
 if($email == ""){
	$erro[] = "O Formulário E-mail é obrigatório </br>";
 }
 if($senha == ""){
	$erro[] = "O Formulário Senha é obrigatório </br>";
 }
 if($senha != $rsenha){
	$erro[] = "Os Formulários de senhas não são iguais. </br>";
 }
 /* FIM */
 if(count($erro) > 0){ 
  foreach($erro as $msg) 
   echo $msg;
 } 
 else
  {
     	# Insere os novos dados no Banco de Dados
     	$inseri = "INSERT INTO `{$tabela}`  (login, ncompleto, Paises, Estados, Cidade, bairro, endereco, cep, telefone, celular, email, senha, Datacadastro) VALUES   ('$login','$ncompleto', '$Paises', '$Estados', '$Cidade', '$bairro', '$endereco', '$cep', '$telefone', '$celular', '$email', '$senha', '$data')";

   $query = mysql_query($inseri)or die(mysql_error());
   session_start(); /* inicia a sessão */
   session_unset(); /* elimina todas as variáveis da sessão */
   session_destroy(); /* destrói a sessão */
   
 	echo "<h3>Você foi cadastrado.</h3>";
 }
}

?>
    	</form>

eu quero que, por ex: se eu deixar o formulario login sem nada era dar um erro neh "formulario obrigatorio" ao dar esse erro a pagina se atualiza e mostre as sessao, para que se o usuario errar ñ precissa preencher tudo dinovo ...

 

 

ajudemmm

 

t+

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá, Boa tarde.

 

Na minha opnião, achei muito confuso o que você fez; não tinha a necessidade de utilizar sessão para isso. Eu fiz uma vídeo-aula ensinando a inserir dados no banco, e em algum dado momento na aula eu falo sobre isso [voltar os dados quando da erro]:

 

[Video Aula 1] Fazendo um sistema de cadastro com PHP

 

Espero que lhe seja útil,

Abraço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

ola faael obrigado pelo tuto

 

olha eu fis uma mistura aq e ñ esta dando certo ñ sei poq

 

quando acontece um erro os formularios ñ voltao preenchidos ficam tudo vazil

 

<?php
header("Content-Type: text/html; charset=ISO-8859-1",true);
include("../includes/config.php"); 
error_reporting(E_ERROR | E_WARNING | E_PARSE);

$acao = $_GET["acao"];

if ($acao == "cadastro") {

  $login = $_POST["login"];
  $ncompleto = $_POST["ncompleto"];
  $Paises = $_POST["Paises"];
  $Estados = $_POST["Estados"];
  $Cidade = $_POST["Cidade"];
  $bairro = $_POST["bairro"];
  $endereco = $_POST["endereco"];
  $cep = $_POST["cep"];
  $telefone = $_POST['telefone'];
  $celular = $_POST['celular'];
  $email = $_POST["email"];
  $senha = $_POST["senha"];
  $rsenha = $_POST["rsenha"];
  $data = date("d/m/Y");

 $sql = mysql_query("SELECT * FROM ".$tabela."") or die ("Erro: ". mysql_error());

 /* FORMULARIOS VAZIU OU NÃO, @ no Email, quantidades de Letras em formularios, cadastro ja existe,  */

 while($linhas = mysql_fetch_array($sql)) {
  if($login == $linhas["login"]){ 
   $erro[1] = "Login ja cadastrado no banco de dados </br>";
  }
  if($celular == $linhas["celular"]){ 
   $erro[2] = "Celular ja cadastrado no banco de dados </br>";
  }
  if($email == $linhas["email"]){ 
   $erro[3] = "E-mail ja cadastrado no banco de dados </br>";
  }
 }
 if($login == ""){    	
  $erro[4] = "</br> O Formulário Login é obrigatório </br>"; 
 }
 if (strlen($login)<4){
  $erro[5] = "O Login deve conter no minimo 4 letras </br>";
 }
 if (strlen($login)>15){
  $erro[6] = "O Login deve conter no maximo 15 letras </br>";
 }
 if($ncompleto== ""){
	$erro[7] = "O Formulário Nome Completo é obrigatório </br>";
 }
 if($Paises == ""){
	$erro[8] = "O Formulário Paises é obrigatório </br>";
 }
 if($Estados == ""){
	$erro[9] = "O Formulário Estados é obrigatório </br>";
 }
 if($Cidade == ""){
	$erro[10] = "O Formulário Cidade é obrigatório </br>";
 }
 if($bairro == ""){
	$erro[11] = "O Formulário Bairro é obrigatório </br>";
 }
 if($endereco == ""){
	$erro[12] = "O Formulário Endereco é obrigatório </br>";
 }
 if($cep == ""){
	$erro[13] = "O Formulário Cep é obrigatório </br>";
 }
 if($email == ""){
	$erro[14] = "O Formulário E-mail é obrigatório </br>";
 }
 if (!eregi("^[a-z0-9_\.\-]+@[a-z0-9_\.\-]*[a-z0-9_\-]+\.[a-z]{2,4}$", $email)){
  $erro[15] = "Esse E-mail não é válido </br>";
 }
 if($senha == ""){
	$erro[16] = "O Formulário Senha é obrigatório </br>";
 }
 if($senha != $rsenha){
	$erro[17] = "Os Formulários de senhas não são iguais. </br>";
 }
 if (strlen($senha)<5){
  $erro[18] = "A senha deve conter no minimo 5 Letras </br>";
 }
 if (strlen($senha)>15){
  $erro[19] = "A senha deve conter no maximo 15 Letras </br>";
 }
 /* FIM */
 if(sizeof($erro) == 0){ 
     	# Insere os novos dados no Banco de Dados
     	$inseri = "INSERT INTO `{$tabela}`  (login, ncompleto, Paises, Estados, Cidade, bairro, endereco, cep, telefone, celular, email, senha, Datacadastro) VALUES   ('$login','$ncompleto', '$Paises', '$Estados', '$Cidade', '$bairro', '$endereco', '$cep', '$telefone', '$celular', '$email', '$senha', '$data')";

   $query = mysql_query($inseri)or die(mysql_error());
   
 	echo "<h3>Você foi cadastrado.</h3>";
 }
}

?>
<html>
<head>
 <script src="scripts/script.js" type="text/javascript"></script>
 
</head>

<body marginheight="0" topmargin="0">

<div class="geral">
<?php
// Caso haja erros
if (sizeof($erro) != 0) {
 // Exibe os erros
 foreach ($erro as $msg) {
  echo $msg;
 }
}
?>
 
  <form method="post" action="usuario.php?acao=cadastro" enctype='multipart/form-data' >
   <ul>
    <li>Login*: <input type="text" name="login" class='minusculo' value="<?php if (sizeof($erro) != 0) { echo $nome; } ?>"></input></li> .................................contnua ......

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

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