Olá,
Já tenho o sistema de registro e login e funcionam bem, o que queria fazer era um sistema de confirmação d registo por email, em que quando o utilizador criasse uma conta, seja enviado para o email do mesmo um código/token com o qual pudesse confirmar a conta.
Alguém me conseguia auxiliar nesse sentido? Também gostava de saber se é mais aconselhado ser enviado um link para o email do utilizador e quando o mesmo clicasse nele, ser redirecionado e aparecer "Conta Ativada" ou depois de criada a conta, o utilizador receber um código e ter que o inserir num campo tipo formulário para poder verificar a conta...
Desde já obrigado
Aqui ficam os códigos do registro, login e da conexão:
conexao:
(db.php)
PHP:
<?php
error_reporting(E_ALL ^ E_DEPRECATED);
$connect = mysql_connect("localhost","root","") or die("Não foi possível ligar ao servidor...");
$db = mysql_select_db("basededadospap", $connect) or die("Impossível entrar na Base de dados");
?>
<html>
<header>
<meta charset="utf-8">
<title>Meet new Friends!</title>
<style type="text/css">
html{
-webkit-animation: fadein 2s; /* Safari, Chrome and Opera > 12.1 */
-moz-animation: fadein 2s; /* Firefox < 16 */
-ms-animation: fadein 2s; /* Internet Explorer */
-o-animation: fadein 2s; /* Opera < 12.1 */
animation: fadein 2s;
}
@keyframes fadein {
from { opacity: 0; }
to { opacity: 1; }
}
/* Firefox < 16 */
@-moz-keyframes fadein {
from { opacity: 0; }
to { opacity: 1; }
}
/* Safari, Chrome and Opera > 12.1 */
@-webkit-keyframes fadein {
from { opacity: 0; }
to { opacity: 1; }
}
/* Internet Explorer */
@-ms-keyframes fadein {
from { opacity: 0; }
to { opacity: 1; }
}
/* Opera < 12.1 */
@-o-keyframes fadein {
from { opacity: 0; }
to { opacity: 1; }
}}
</style>
</header>
</html>
registrar:
(registrar.php)
PHP:
<?php
include("db.php");
if (isset($_POST['criar'])) {
$nome = $_POST['nome'];
$apelido = $_POST['apelido'];
$email = $_POST['email'];
$pass = $_POST['pass'];
$data = date("Y/m/d");
$email_check = mysql_query("SELECT email FROM users WHERE email='$email'");
$do_email_check = mysql_num_rows($email_check);
if ($do_email_check >= 1) {
echo '<h3>Este email já está registado, faz o login <a href="login.php">aqui</a></h3>';
}elseif ($nome == '' OR strlen($nome)<3) {
echo '<h3>Escreve o teu nome corretamente!</h3>';
}elseif ($email == '' OR strlen($email)<10) {
echo '<h3>Escreve o teu email corretamente!</h3>';
}elseif ($pass == '' OR strlen($pass)<8) {
echo '<h3>Escreve a tua palavra-passe corretamente, deve ter mais que 8 caracteres!</h3>';
}else{
$query = "INSERT INTO users (`nome`,`apelido`,`email`,`password`,`data`) VALUES ('$nome','$apelido','$email','$pass','$data')";
$data = mysql_query($query) or die(mysql_error());
if ($data) {
setcookie("login",$email);
header("Location: ./");
}else{
echo "<h3>Desculpa, houve um erro ao registar-te...</h3>";
}
}
}
?>
<!DOCTYPE html>
<html>
<head>
<link href='https://fonts.googleapis.com/css?family=Montserrat' rel='stylesheet' type='text/css'>
<style type="text/css">
*{font-family: 'Montserrat', cursive;}
img{display: block; margin: auto; margin-top: 20px; width: 200px;}
form{text-align: center; margin-top: 10px;}
input[type="text"]{border: 1px solid #CCC; width: 250px; height: 25px; padding-left: 10px; border-radius: 3px; margin-top: 10px;}
input[type="email"]{border: 1px solid #CCC; width: 250px; height: 25px; padding-left: 10px; border-radius: 3px; margin-top: 10px;}
input[type="password"]{border: 1px solid #CCC; width: 250px; height: 25px; padding-left: 10px; margin-top: 10px; border-radius: 3px;}
input[type="submit"]{border: none; width: 120px; height: 30px; margin-top: 20px; border-radius: 3px;}
input[type="submit"]:hover{background-color: #1E90FF; color: #FFF; cursor: pointer;}
h2{text-align: center; margin-top: 20px;}
h3{text-align: center; color: #1E90FF; margin-top: 15px;}
a{text-decoration: none; color: #333;}
</style>
</head>
<body>
<img src="img/logo.png"><br />
<h2>Cria a tua conta</h2>
<form method="POST">
<input type="text" placeholder="Primeiro nome" name="nome"><br />
<input type="text" placeholder="Apelido" name="apelido"><br />
<input type="email" placeholder="Endereço email" name="email"><br />
<input type="password" placeholder="Palavra-passe" name="pass"><br />
<input type="submit" value="Criar uma conta" name="criar">
</form>
<h3>Já tens uma conta? <a href="login.php">Entra aqui!</a></h3>
</body>
</html>
login:
(login.php)
PHP:
<?php
include("db.php");
if (isset($_POST['entrar'])) {
$email = $_POST['email'];
$pass = $_POST['pass'];
$verifica = mysql_query("SELECT * FROM users WHERE email = '$email' AND password='$pass'");
if (mysql_num_rows($verifica)<=0) {
echo "<h3>Palavra-passe ou e-mail errados!</h3>";
}else{
setcookie("login",$email);
header("location: ./");
}
}
?>
<!DOCTYPE html>
<html>
<head>
<link href='https://fonts.googleapis.com/css?family=Montserrat' rel='stylesheet' type='text/css'>
<style type="text/css">
*{font-family: 'Montserrat', cursive;}
img{display: block; margin: auto; margin-top: 20px; width: 200px;}
form{text-align: center; margin-top: 20px;}
input[type="email"]{border: 1px solid #CCC; width: 250px; height: 25px; padding-left: 10px; border-radius: 3px;}
input[type="password"]{border: 1px solid #CCC; width: 250px; height: 25px; padding-left: 10px; margin-top: 10px; border-radius: 3px;}
input[type="submit"]{border: none; width: 80px; height: 30px; margin-top: 20px; border-radius: 3px;}
input[type="submit"]:hover{background-color: #1E90FF; color: #FFF; cursor: pointer;}
h2{text-align: center; margin-top: 20px;}
h3{text-align: center; color: #1E90FF; margin-top: 15px;}
a{text-decoration: none; color: #333;}
</style>
</head>
<body>
<img src="img/logo.png"><br />
<h2>Entra na tua conta</h2>
<form method="POST">
<input type="email" placeholder="Endereço email" name="email"><br />
<input type="password" placeholder="Palavra-passe" name="pass"><br />
<input type="submit" value="Entrar" name="entrar">
</form>
<h3>Ainda não tens conta? <a href="registar.php">Cria uma hoje!</a></h3>
</body>
</html>