Ver Mensaje Individual
  #10 (permalink)  
Antiguo 24/03/2014, 07:27
OfSerker
 
Fecha de Ingreso: marzo-2014
Mensajes: 168
Antigüedad: 12 años, 6 meses
Puntos: 2
Pregunta Respuesta: Confirmación registro por mail

Bueno, no os habéis explicado muy bien... Soy nuevo en esto, solo se seleccionar cosas en la bd y el metodo $_POST.

Aqui os paso los archivos que me dijisteis que escribiera:

activacion.php:

Código PHP:
<?php
$email 
= utf8_decode(mysqli_real_escape_string($conexion, ((isset($_GET['email']) && !empty($_GET['email']))?$_GET['email']:false)));
$key = utf8_decode(mysqli_real_escape_string($conexion, ((isset($_GET['key']) && !empty($_GET['key']))?$_GET['key']:false)));
 
$ffkk = mysqli_query($conexion, "SELECT tucolumna FROM tabla WHERE email = '".$email."'")or die(mysqli_query($conexion));
$del = mysqli_fetch_assoc($ffkk);
if(
$del['activacion'] == '1'){
    echo 
"No puedes volver a activar tu cuenta, ya se encuentra activada.";
}
else{
 
$verificacion = mysqli_query($conexion, "SELECT * FROM tutabla WHERE email = '".$email."' AND code = '".$key."'")or die(mysqli_error($conexion));
if(
$veri = mysqli_fetch_array($verificacion)){
    
$codes = md5 (rand (0,90900));
    
$ya = mysqli_query($conexion, "UPDATE tutabla SET activacion = '1' WHERE activacion = '0'")or die(mysqli_error($conexion));
    
$ya2 = mysqli_query($conexion, "UPDATE tutabla SET code = '".$codes."' WHERE email = '".$email."'")or die(mysqli_error($conexion));
    echo  
"Tu cuenta ha sido activada.";
 
}
?>

activacion.php:

Código PHP:
<?php
$key 
= $_GET['id'];

$query=mysql_query("SELECT * FROM users WHERE id='$key'");
if(
$check=mysql_fetch_array($query)) //con este if verificamos que el codigo existe en la BD 
            
{ 
            
                if(
$check['active']=="1") //Si el mail ya esta verificado 
                
{ 
                    echo 
"Tu mail ya esta verificado";
                } 
                elseif(
$check['active']=="0") //Si no esta verificado 
                
{ 
                
//Actualizamos la BD, y cambiamos el valor de dafault "NO" en verificado por "SI" 
                    
$sql = "UPDATE users SET active='1' WHERE id='$key'"; 
                    
mysql_query($sql) or die("Error query ".mysql_error());  
                     echo 
"<p>Gracias. Hemos verificado su email. Ahora puede acceder con su usuario y clave</p>";
                     echo 
"<a href='../index.php'>Loguearse</a>";
                     
//habilitamos el formulario de login luego de la bienvenida
                    
                
                
} 
            } 
            else 
//Si el codigo de verificacion no existe 
            
{ 
            echo 
"<p>Tu c&oacute;digo es incorrecto</p>"; 
            echo 
"<a href='../index.php'>Loguearse</a>";
            } 
        
?>

mail.php:

Código PHP:
<?php
require_once('./config/funciones.php');
conectar('localhost', 'root', '123456', 'ofserker');

$para = $email; //hace referencia a la variable email...
$titulo = "Activar cuenta";
$mensaje = "El mensaje es este chaval. ejemplo xd";
$cabeceras  = 'MIME-Version: 1.0' . "\r\n";
$cabeceras .= 'Content-type: text/plain; charset=iso-8859-1' . "\r\n";
$cabeceras .= 'From: Activar cuenta <tucorreo>' . "\r\n";
 
mail($para, $titulo, $mensaje, $cabeceras);

?>
Como hago para que los archivos trabajen juntos (los junte), que pongo en la db y si hay algún error porfavor, decidmelo.

Última edición por OfSerker; 24/03/2014 a las 07:33