Hola amigos!, tengo mi codigo de registro y login de usuario todo junto aqui, el tema es que agregué 2 campos en la base de datos "codigo" y "estado" estado puesto en 0.
Estos dos campos al hacer un registro todo bien, se insertan el codigo aleatorio y el 0.
Ahora lo que yo trato de implementar es mandarle un email al usuario con ese codigo aleatorio para que al clickear en ese link la base de datos se actualice el estado y se ponga en 1. y asi poder entrar.
porque el tema es que los usuarios al no tener esto registran cualquier email.
Como lo coloco en mi codigo?
Gracias, por leer.
Código PHP:
Ver original<?php
require("connect.php");
require("functions.php");
//Archivos incluidos solo si el INCLUDE_CHECK est� definido
//Empezando la sesi�n
//La cookie vive por 2 semanas
if($_SESSION['id'] && !isset($_COOKIE['dmRemember']) && !$_SESSION['rememberMe']) {
//Si est� logueado, pero no tiene la cookie dmRemember (el navegador se reinicia)
// y si no ha checkeado la rememberMe checkbox:
//Destruir la sesion
}
if(isset($_GET['logoff'])) {
header("Location: index.php"); }
if($_POST['submit']=='Ingresar')
{
//checando si el login form ha sido submit
//Tira los errores nuestros
if(!$_POST['username'] || !$_POST['password'])
$err[]='Todos los campos deben ser completados!';
{
$_POST['rememberMe']=(int)$_POST['rememberMe'];
//escaping all input data
if($row['usuario'])
{
//Si todo est� logueado correctamente
//$_SESSION['username']=$row['user'];
$_SESSION['usuario']=$row['usuario'];
$_SESSION['id']=$row['id'];
$_SESSION['sexo']=$row['sexo'];
$_SESSION['rememberMe']=$_POST['rememberMe'];
//Store some data in the session
setcookie('dmRemember',$_POST['rememberMe']); }
else $err[]='Usuario y/o Password incorrectos!';
}
if($err)
$_SESSION['msg']['login-err']=implode('<br />', $err); //Guardamos los mensajes de error en la sesion
header("Location: index.php"); }
else if($_POST['submit2']=='Registrar')
{
//Si el formulario de registro ha sido enviado
if(strlen($_POST['firstname'])>100) {
$err[]='Tu nombre(s) debe tener menos de 100 caracteres!';
}
if(!preg_match('/[^0-9-_.]+/i',$_POST['firstname'])) {
$err[]='Tu nombre(s) contiene caracteres inválidos!';
}
if(strlen($_POST['lastname'])>100) {
$err[]='Tu apellido debe tener menos de 100 caracteres!';
}
if(!preg_match('/[^0-9-_.]+/i',$_POST['lastname'])) {
$err[]='Tu apellido contiene caracteres inválidos!';
}
if(strlen($_POST['username'])<4 || strlen($_POST['username'])>100) {
$err[]='Tu nombre de usuario debe tener entre 4 y 100 caracteres!';
}
if(preg_match('/[^a-z0-9-_.]+/i',$_POST['username'])) {
$err[]='Tu nombre de usuario contiene caracteres inválidos!';
}
if(strlen($_POST['password'])<6 || strlen($_POST['password'])>32) {
$err[]='Tu contraseña debe tener entre 6 y 32 caracteres!';
}
if(preg_match('/[^a-z0-9-_.]+/i',$_POST['password'])) {
$err[]='Tu contrase�a es d�bil!';
}
if($_POST['repassword']!=$_POST['password'])
{
$err[]='Tu repetición de password es distinta de la primera!';
}
if(!checkEmail($_POST['email']))
{
$err[]='Tu email no es válido!';
}
{
//Si no hay errores
//Escape the input data
function genera_random($longitud){
$exp_reg="[^A-Z0-9]";
0, $longitud);
}
$codigo = genera_random(20);
mysql_query(" INSERT INTO members(firstname,lastname,usuario,pass,email,sexo,interestin,estadocivil,pais,codigo,estado,dt) VALUES('".$_POST['firstname']."','".$_POST['lastname']."','".$_POST['username']."','".md5($_POST['password'])."','".$_POST['email']."','".$_POST['sexo']."','".$_POST['interestin']."','".$_POST['estadocivil']."','".$_POST['pais']."','$codigo','0',NOW())")
{
$_POST['email'],
'Registro ',
' Tu nombre de usuario es: '.$_POST["username"].'n Tu contraseña es: '.$_POST["password"]);
$_SESSION['msg']['reg-success']='Revisa tu correo electronico para confirmar tu cuenta!';
}
else
$err[]='El nombre de usuario ya está en uso!';
}
{
$_SESSION['msg']['reg-err']=implode('<br />',$err); }
header("Location: index.php");
}
?>