Ir para conteúdo
Mauricio Molina

Redirecionar usuario após cadastro

Recommended Posts

Ola,

 

Estou montando um sistema de cadastro, esta funcionando corretamente, mas como redirecionar o usuário após o cadastro para a página de login?

 

O formulário se comunica com esta página.

 

<?php

include_once 'config.php';

$nome = filter_input(INPUT_POST, 'nome', FILTER_SANITIZE_STRING);
$email = filter_input(INPUT_POST, 'email', FILTER_SANITIZE_STRING);
$senha = md5($_POST['senha']);

$query_usuario = "INSERT INTO superadmin (nome, email, senha) VALUES ('$nome', '$email', '$senha')";
mysqli_query($conn, $query_usuario);

if(mysqli_insert_id($conn)){
	echo true;
}else{
	
	echo false;
}

Obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

https://www.php.net/manual/pt_BR/function.header.php

 

Só observações....

Compartilhar este post


Link para o post
Compartilhar em outros sites
1 hora atrás, Omar~ disse:

https://www.php.net/manual/pt_BR/function.header.php

 

Só observações....

 

Ola, obrigado por comentar.

 

Sou iniciante. Não estou conseguindo executar, poderia me explicar na prática, com o codigo?

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Mauricio Molina

 

Experimente desse jeito:

<?php
//DBConnect() Classe de Conexão com o Banco de Dados:
ini_set('default_charset','UTF-8'); // Para o charset das páginas
define('DB_HOSTNAME', 'localhost:3306');
define('DB_USERNAME', 'USUARIO DE LOGIN DO BANDO DE DADOS AQUI');
define('DB_PASSWORD', 'SUA SENHA DO BANCO DE DADOS AQUI');
define('DB_DATABASE', 'NOME DO SEU BANCO DE DADOS');
define('DB_PREFIX'    , '');
define('DB_CHARSET'    , 'utf8');

//Abre Conexão com Banco de Dados
function DBConnect(){
    @$MySQLi = mysqli_connect(DB_HOSTNAME, DB_USERNAME, DB_PASSWORD, DB_DATABASE) or die (mysqli_connect_error());
    mysqli_set_charset($MySQLi, DB_CHARSET) or die (mysqli_error($MySQLi));
    return $MySQLi;
}

include_once 'config.php';

$nome = filter_input(INPUT_POST, 'nome', FILTER_SANITIZE_STRING);
$email = filter_input(INPUT_POST, 'email', FILTER_SANITIZE_STRING);
$senha = md5($_POST['senha']);
$senha = md5(mysqli_real_escape_string(DBConnect(),trim($_POST['cd_pass'])));

$query_usuario = "INSERT INTO superadmin (nome, email, senha) VALUES ('$nome', '$email', '$senha')";
mysqli_query($conn, $query_usuario);

if(mysqli_insert_id($conn)){
 header("Location: login.php");
    exit();
}else{
    header("Location: index.php?Erro");
    exit();
}

Experimente usar o código acima e veja se funciona.

 

 

Espero ter ajudado.

 

Att.

Felipe Coutinho

Compartilhar este post


Link para o post
Compartilhar em outros sites
Em 21/11/2019 at 11:21, Felipe Guedes Coutinho disse:

@Mauricio Molina

 

Experimente desse jeito:


<?php
//DBConnect() Classe de Conexão com o Banco de Dados:
ini_set('default_charset','UTF-8'); // Para o charset das páginas
define('DB_HOSTNAME', 'localhost:3306');
define('DB_USERNAME', 'USUARIO DE LOGIN DO BANDO DE DADOS AQUI');
define('DB_PASSWORD', 'SUA SENHA DO BANCO DE DADOS AQUI');
define('DB_DATABASE', 'NOME DO SEU BANCO DE DADOS');
define('DB_PREFIX'    , '');
define('DB_CHARSET'    , 'utf8');

//Abre Conexão com Banco de Dados
function DBConnect(){
    @$MySQLi = mysqli_connect(DB_HOSTNAME, DB_USERNAME, DB_PASSWORD, DB_DATABASE) or die (mysqli_connect_error());
    mysqli_set_charset($MySQLi, DB_CHARSET) or die (mysqli_error($MySQLi));
    return $MySQLi;
}

include_once 'config.php';

$nome = filter_input(INPUT_POST, 'nome', FILTER_SANITIZE_STRING);
$email = filter_input(INPUT_POST, 'email', FILTER_SANITIZE_STRING);
$senha = md5($_POST['senha']);
$senha = md5(mysqli_real_escape_string(DBConnect(),trim($_POST['cd_pass'])));

$query_usuario = "INSERT INTO superadmin (nome, email, senha) VALUES ('$nome', '$email', '$senha')";
mysqli_query($conn, $query_usuario);

if(mysqli_insert_id($conn)){
 header("Location: login.php");
    exit();
}else{
    header("Location: index.php?Erro");
    exit();
}

Experimente usar o código acima e veja se funciona.

 

 

Espero ter ajudado.

 

Att.

Felipe Coutinho

 

Ola muito obrigado consegui, não deu certo com o código que passou, mas peguei apenas esta parte e adicionei ao que tinha e tudo funcionou obrigado!

 

if(mysqli_insert_id($conn)){
 header("Location: login.php");
    exit();
}else{
    header("Location: index.php?Erro");
    exit();
}

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por OSVALDO ARANTES JÚNIOR
      Preciso validar um acesso a uma pagina, que so pode ser acessada uma vez a cada 20 respostas certas, estou usando  if( $query->num_rows % 20 == 0 ) , so que toda vez que a pagina carrega, executa o comando poderiam me dar uma dica de como prosseguir depois das vinte respostas para 40 e depois somente com 60.. 80...  e assim redirecionar automaticamente de 20 em 20.
    • Por jrdesign
      Bom dia, sou novo em php, abaixo está a forma que estou tentando fazer, porém o email não está chegando. Não tenho acesso ao servidor para fazer os testes. 
      Após preencher o formulário com nome. e-mail e telefone... aparece para fazer o download e clicando em ok libera o dowload, mas não chega o e-mail com os dados preenchidos. 
      Hospedagem Locaweb.
       
      Obrigado a todos.
       
      <?php
      if(@$_POST['send'] == "true"){ // Se o form nao for preenchido ele nao ira enviar o email>>>
      // Aqui voce coloca o E-MAIL para onde sera enviado o EMAIL>>>>>>>>>
      $destinatario = 'meuemail@meuemail.com.br';
      //$destino ='meuemail@meuemail.com.br'; 
      $nome = $_POST['nome'];
      $telefone = $_POST['telefone'];
      $email = $_POST['email'];
      $headers  = "Content-Type: text/html; charset=iso-8859-1\n";
      $headers .= "From: $destinatario - Baixou Cartálogo <meuemail@meuemail.com.br>\r\n"; // colocar o email da plocad.
      $fonte = "<font size=\"-1\" face=\"Verdana, Arial, Helvetica, sans-serif\">";
      $msg  = "$fonte Você recebeu um e-mail de: $email <br>";
      $msg .= "<br> Nome: $nome <br> ";
      $msg .= "<br> Telefone: $telefone ";
      $msg .= "<br> E-mail: $email <br>";

      $envia = mail("$destinatario", "$msg", "$headers");
      if(@$_POST['send'] == "true"){
      if($envia){
      $statusde="<font color='#FF0000'> Aguarde o download iniciar!</font>";
      }else{
      $statusde="<font color='#FF0000'>Erro ao enviar, favor enviar novamente.</font>";
      }
      }

      if($envia){
      $statusde="<font color='#FF0000'>Aguarde o download iniciar!</font>";
      }else{
      $statusde="<font color='#FF0000'>Erro ao enviar, favor enviar novamente.</font>";
      }
      }
            
               if($envia) {
                                  echo "Agradecemos seu contato, Ok para iniciar o Download!";
                                  echo "<script>alert(\"Clique em OK para iniciar o Download!\")</script>";
                                  echo "<script>window.location = \"1.pdf\"</script>";
                              }
                              else{/*seu ouve algum erro...*/
                                  echo "<p><b>$nome</b><br />Ouve um erro no envio, desculpe-nos pelo transtorno!!!</p>";
                              }
                              
                      
      ?>
    • Por guialacerda
      Olá amigos, existe algum plugin que me permite criar um formulário de cadastro com as opções:
       
      -Nome
      -Cargo
      -Telefone
      -Email
       
      E a partir desse cadastro, seria possível enviar um email informando todos os cadastrados sobre reuniões, por exemplo?
    • Por szLeonardo
      Olá a todos,
      Estou com um problema no meu cadastro de usuário.
      A parte de cadastrar está sendo realizada corretamente e meu login também, o meu problema está é que tenho que cadastrar em uma tela, depois entrar em outra para validar e acessar.
      Gostaria que quando eu realizasse o cadastro já valida-se e entrasse direto, sem precisar ter que entrar na outra pagina e rodar o login.
       
      Segue meu cadastro que está funcionando:  
      //--Insere Registro   if(isset($_POST['cadastrar'])){     @$usuario      = trim(strip_tags($_POST['usuario']));     @$senha        = trim(strip_tags($_POST['senha']));     @$nivel_acesso = trim(strip_tags($_POST['nivel_acesso']));     $insert = "INSERT INTO cad_usuario (usuario, senha, nivel_acesso)                 VALUES (:usuario, :senha, :nivel_acesso)";   try{     $result = $conexao->prepare($insert);     $result->bindParam(':usuario',      $usuario, PDO::PARAM_STR);     $result->bindParam(':senha',        $senha, PDO::PARAM_STR);     $result->bindParam(':nivel_acesso', $nivel_acesso, PDO::PARAM_STR);     $result->execute();     $contar = $result->rowCount();   if($contar>0){     echo '<div class="alert alert-success">           <button type="button" class="close" data-dismiss="alert">×</button>           <strong>Sucesso!</strong> O Usuario foi Cadastrado!</div>';          $_SESSION['autenticado'] = true;   }else{     echo '<div class="alert alert-danger">           <button type="button" class="close" data-dismiss="alert">×</button>           <strong>Erro ao cadastrar!</strong> Não foi possível cadastrar o Usuario.</div>';   }}catch(PDOException $e){     echo $e;   }}   } }  
      Segue meu validador do usuário cadastrado que está funcionando: 
      <?php session_start(); include_once "connection/conecta.php"; $usuario = new Usuario(); try {   if($usuario->confere($_POST['usuario'],$_POST['senha'])) {     $_SESSION['autenticado'] = true;     $_SESSION['usuario'] = $_POST['usuario'];     header('location: principal.php');   } else {     $_SESSION['autenticado'] = false;     include_once "index.php";     exit("<div class='alert alert-danger col-sm-12'>Usuário ou senha incorretos. Verifique</div>");   } } catch(PDOException $p){   echo "Ocorreu um erro inesperado: ". $p->getMessage(); } ?>  
      Segue minha pagina principal aonde valida a $_SESSION['autenticado'] = false; 
      Mas só valida se passar na pagina index e passar pela validação a cima.
       <?php require_once("connection/conecta.php"); ob_start(); session_start();  if (@!$_SESSION['autenticado']){    include_once "index.php";    exit("<div class='alert alert-danger col-sm-12'>Para acessar o sistema você deve efetuar login</div>");  }     $logado = $_SESSION['usuario'];     $sql = "SELECT * from cad_usuario WHERE usuario = '$logado' and situacao = 'A'";     try{       $result = $conexao->prepare($sql);         $result->execute();       $contar = $result->rowCount();                if($contar =1){         $loop = $result->fetchAll();         foreach ($loop as $show){           $userLogado  = $show['usuario'];           $senhaLogado = $show['senha'];           $nivelLogado = $show['nivel_acesso'];         }       }       }catch (PDOWException $erro){ echo $erro;} ?>  
    • Por robmig
      Olá Mestres iMasters, obrigado por sua leitura deste modesto pedido de ajuda!
       
      Tenho um campo de Cadastro, onde o mesmo quando utilizado um e-mail já cadastrado ele barra impedindo e acusando Email já cadastrado, só que nesse meu caso é importante que eu deixe livre para que possa sim ser feito novos cadastros utilizando o mesmo e-mail cadastrado, só que por inexperiência  nem sei onde vou fuçar meu código para resolver isso...
       
      Seria no Banco de Dados? Seria na edição do Script?
       
      Campo de Cadastro Atual: 
      <div class="form-group"> <div class="col-xs-6"> <input class="form-control" type="text" name="nome" required placeholder="Nome e Whatsapp"> </div> <div class="col-xs-6"> <input class="form-control" type="text" name="sobre" required placeholder="Sobrenome"> </div> </div> <div class="form-group"> <div class="col-xs-6"> <input type="tel" class="form-control" type="text" name="celular" id="celular" required placeholder="Whatsapp Novamente"> </div> <div class="col-xs-6"> <input class="form-control" type="email" name="email" pattern="[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,3}$" required placeholder="Seu Email"> </div> </div> <div class="col-xs-12"> <p class="text-danger" style="font-zine: 5px;">Usuário apenas letras <b>Minúsculas</b> até <b>20 Caracters</b></p> </div> <div class="form-group"> <div class="col-xs-12"> <input class="form-control" type="text" required placeholder="Usuário" name="usuario" maxlength="20" pattern="[a-z0-9]{4,12}" onKeyUp="this.value=this.value.replace(/[' 'çÇáÁàÀéèÉÈíìÍÌóòÓÒúùÚÙñÑ~^âêîôûãõ@´.&,!#$%¨&*+=-_?/:;()\|]/g,'')"> </div> </div>  
×

Informação importante

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