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

Criando Uma área De Autenticação De Usuários...


Guest Bruno S. Machado

Pergunta

Guest Bruno S. Machado

Olá..

Estou precisando criar uma área de autenticação de usuários para meu site com PHP e MySQL, com a seguinte descrição, se o usuario não existir, ele terá que se cadastrar, depois de efetuar o cadastro, ele acessa a area e pode postar a mensagem.... enquanto ele estiver logado... alguém sabe onde eu acho um manual que ensina a fazer isso???

Valeu pela atenção....

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0

aí bruno, sou novato ainda, mas acho que isso pode ajudar

cadastro.php

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
<style type="text/css">
<!--
.style1 {font-size: 10px}
.style2 {font-size: 12px; }
.style3 {font-size: 12px; font-family: Verdana, Arial, Helvetica, sans-serif; }
.style4 {font-family: Verdana, Arial, Helvetica, sans-serif}
-->
</style>
</head>

<body>
<form name="form1" method="post" action="enviar_cadastro.php">
  <table width="476" border="0" align="center" cellpadding="0" cellspacing="5">
    <tr>
      <td width="186"><div align="center" class="style3">Nome completo </div></td>
      <td colspan="2"><div align="center" class="style3">
        <label>
        <input name="nome" type="text" id="nome" maxlength="200">
        </label>
</div></td>
    </tr>
    <tr>
      <td><div align="center" class="style3">Sexo</div></td>
      <td colspan="2"><div align="center" class="style3">
        <label>
        <input name="sexo" type="radio" value="masculino">
        </label>
Masculino
<label></label>
<label>
<input name="sexo" type="radio" value="Feminino">
</label>
Feminino</div></td>
    </tr>
    <tr>
      <td><div align="center" class="style3">Nascimento</div></td>
      <td colspan="2"><div align="center" class="style3">
        <label>
        <input name="nascimento" type="text" id="nascimento" maxlength="8">
        </label>
</div></td>
    </tr>
    <tr>
      <td><div align="center" class="style3">Forma&ccedil;&atilde;o</div></td>
      <td colspan="2"><div align="center" class="style3">
        <label>
        <select name="formacao" id="formacao">
          <option value="Ensino Fundamental">Ensino Fundamental</option>
          <option value="Ensino M&eacute;dio">Ensino M&eacute;dio</option>
          <option value="Ensino Superior">Ensino Superior</option>
          <option value="P&oacute;s Graduado">P&oacute;s Graduado</option>
          <option value="Mestrado">Mestrado</option>
          <option value="Doutorado">Doutorado</option>
          <option value="P&oacute;s Doutorado">P&oacute;s Doutorado</option>
        </select>
        </label>
</div></td>
    </tr>
    <tr>
      <td><div align="center" class="style3">E-mail</div></td>
      <td colspan="2"><div align="center" class="style3">
        <label>
        <input name="email" type="text" id="email" maxlength="100">
        </label>
</div></td>
    </tr>
    <tr>
      <td><div align="center" class="style3">Senha</div></td>
      <td colspan="2"><div align="center" class="style3">
          <label>
          <input name="senha" type="password" id="senha" maxlength="10">
          </label>
      </div></td>
    </tr>
    <tr>
      <td><div align="center" class="style3">Repetir Senha </div></td>
      <td colspan="2"><div align="center" class="style3">
        <label>
        <input name="senha2" type="password" id="senha2" maxlength="10">
        </label>
</div></td>
    </tr>
    <tr>
      <td><div align="center" class="style3">pra&iacute;s</div></td>
      <td colspan="2"><div align="center" class="style3">
        <label>
        <input name="pais" type="text" id="pais" maxlength="20">
        </label>
</div></td>
    </tr>
    <tr>
      <td><div align="center" class="style3">Estado</div></td>
      <td colspan="2"><div align="center" class="style3">
        <label>
        <input name="estado" type="text" id="estado" maxlength="2">
        </label>
</div></td>
    </tr>
    <tr>
      <td><div align="center" class="style3">Cidade</div></td>
      <td colspan="2"><div align="center" class="style3">
        <label>
        <input name="cidade" type="text" id="cidade" maxlength="20">
        </label>
</div></td>
    </tr>
    <tr>
      <td><div align="center"><span class="style1"><span class="style2"><span class="style4"></span></span></span>
        <label></label>
      </div>        <div align="center"><span class="style1"><span class="style2"><span class="style4"></span></span></span></div></td>
      <td width="111">&nbsp;</td>
      <td width="159">&nbsp;</td>
    </tr>
    <tr>
      <td><div align="center"></div></td>
      <td colspan="2"><div align="center">
        <input type="submit" name="Submit" value="Enviar">
      </div></td>
    </tr>
  </table>
</form>
</body>
</html>
config.php
<?
$host  = "localhost"; //endereço do seu servidor MySQL
$db = "dados"; //o database que conterá sua tabela, muitas vezes seu próprio login
$user = ""; //login usado no MySQL
$pass_host = ""; //senha usado no MySQL
?>
enviar_cadastro.php
<?
include "config.php"; //aqui inserimos as váriaveis da página de configuração

$conecta = mysql_connect($host, $user, $pass_host); //conectamos ao mysql
$basedados = mysql_select_db($db); //selecionamos o database escolhido

//fazendo com que as chaves do POST virarem variaveis!
foreach($_POST as $campo => $valor) {
$$campo = $valor;
}
$pesquisar = mysql_query("SELECT * FROM cadastros WHERE email = '$email'")or die ("Erro: ".mysql_error()); //conferimos se o login escolhido já não foi cadastrado
$contagem = mysql_num_rows($pesquisar); //traz o resultado da consulta acima

//adicionei essa variavel $errors com valor em branco para caso aja algum erro, possa concatenar junto a ela
$errors = "";
if ( $contagem == 1 ) {
$errors .= "E-mail escolhido já foi cadastrado.<br>"; //se o login já existir, ele adiciona o erro
}

if (empty($email)) {
$errors .= "Você não digitou um e-mail<br>"; //confere se o campo login não ficou vazio
}
if (empty($senha)) {
$errors .= "Você não digitou uma senha<br>"; //confere se o campo senha não ficou vazio
}

if ( $senha != $senha2 ) {
$errors .= "Você digitou 2 senhas diferentes.<br>"; //adiciona o erro caso o usuário digitou 2 senhas diferentes
}

//aqui botei pedir pra verificar se a var $errors está fazia com funçao empty !!
if (empty($errors)) { //checa se houve ou não erros no cadastro

//tirei do mysql_query o identificador de conexao ($db) lembra??
$cadastrar = mysql_query("INSERT INTO cadastros (nome, sexo, nascimento, formacao, email, senha, pais, estado, cidade)
 VALUES ('$nome','$sexo','$nascimento','$formacao','$email','$senha','$pais','$estado','$cidade')"); //insere os campos na tabela

 if ( $cadastrar == 1 ) {
   echo "<div align=center><font size=2 face=Verdana, Arial, Helvetica, sans-serif><br><br><br>Cadastro com sucesso.</font></div>"; //se cadastrou com sucesso o usuário aparece essa mensagem
   } else {
  echo "<div align=center><font size=2 face=Verdana, Arial, Helvetica, sans-serif><br><br><br>Ocorreu um erro no servidor ao tentar se cadastrar.</font></div>"; //caso houver um erro quanto as configurações aparece essa mensagem
}
} else {
 echo "<div align=center><font size=2 face=Verdana, Arial, Helvetica, sans-serif>Ocorreu os seguintes erros ao tentar se cadastrar:<br><br>$errors... <a href=java script:history.go(-1)>Clique aqui para voltar.</a><BR><br>Voltar e concertar!</a></font></div>"; //mostra os erros do usuário, caso houver
}
?>
login.php
<form name="login" method="post" action="loga.php">
<table width="400" border="0" cellspacing="0" cellpadding="0">
<tr> 
  <td width="150"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">E-mail:</font></td>
    <td width="250"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> 
      <input name="email" type="text" id="email">
      </font></td>
</tr>
<tr> 
  <td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Senha:</font></td>
    <td><input name="senha" type="password" id="senha"></td>
</tr>
<tr> 
  <td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">&nbsp;</font></td>
  <td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">&nbsp;</font></td>
</tr>
<tr> 
  <td><div align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">
        <input name="entrar" type="submit" id="entrar" value="Logar">
        </font></div></td>
  <td background="cadastro.php"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><a href="enviar_senha.php">Esqueceu 
    a senha?</a> <a href="">Cadastre-se</a></font></td>
</tr>
</table>
</form>
loga.php
<?
include "config.php"; //inclui o arquivo de configurações

$conecta   = mysql_connect ($host, $user, $pass_host); //conecta ao mysql
$basedados = mysql_select_db($db); //conecta a base de dados

$email = $_POST['email'];
$senha = $_POST['senha'];

$confirmacao = mysql_query("SELECT * FROM cadastros WHERE email='$email' AND senha = '$senha'")or die(mysql_error());
$contagem = mysql_num_rows($confirmacao); //traz o resultado da pesquisa acima

if ( $contagem == 1 ) {
setcookie ("email", $email); //grava o cookie com o e-mail
setcookie ("senha", $senha); //grava o cookie com a senha
echo "Ok você logou!<br>
Voce está sendo transferido para a página principal do portal e poderá ir ao painel de controle!
<meta http-equiv='refresh' content='3; URL=helpdesk/index.php'>"; //se a senha digitada está correta, mostra a mensagem
} else {
echo "Login ou senha inválidos. <a href=java script:history.go(-1)>Clique aqui para voltar.</a>"; //se a senha está incorreta mostra essa mensagem
}
?>

bom é isso que posso t ajudar. o restante você dá uma pesquisa c der certo posta aí p gente porque também to querendo um sistema parecido

[]'s !!!

para fazer a tabela no mysql dá uma olhada nos campos do cadastro.php e de acordo com o que está lá você cria.

abraço

Link para o comentário
Compartilhar em outros sites

  • 0

Vê se te ajuda:

<?
session_start();

if ( !isset($_SESSION['login']) ){
  echo "<script>location.href='login.php';</script>";
}
?>

Coloque isto nas paginas protegidas... se o usuario não logar e se ele quiser "tentar" entrar nessas areas restritas, o usuario automaticamente será redirecionado para a pagina login.php

[]''s

:D

Link para o comentário
Compartilhar em outros sites

  • 0

Hum... já expliquei + - como é o esquema mas vamos de novo :lol:

Sessions:

Uma session é uma forma de armazenar certos dados, para que os utilizemos posteriormente. Podemos, por exemplo, construir um site de área restrita, ou seja, acesso a determinadas áreas restritas a usuarios cadastrados no sistema. Quando o usuario quiser acessar a parte restrita do site, ele terá de informar um usuario e senha. Para que os usuarios não precise digitar sempre o usuario e a senha, são criadas sessions. A cada pagina de area restrita que o usuario acessar, o sistema verifica se ele está cadastrado no sistema e lhe dá permissão de acesso.

Seria + - isso ^^

+ detalhes:

http://www.php.net/session

[]''s

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,3k
    • Posts
      652,5k
×
×
  • Criar Novo...