Ver Mensaje Individual
  #1 (permalink)  
Antiguo 06/06/2011, 12:49
gabrielcorr4
 
Fecha de Ingreso: octubre-2010
Ubicación: Guayaquil
Mensajes: 195
Antigüedad: 15 años, 11 meses
Puntos: 3
Información activacion de usuarios por mail...no entiendo

Hola tengo mi archivo de validacion de usuarios y quiero activar los usuarios por mail, y viendo este ejemplo no entiendo la parte final desde donde dice:
//creamos nuestra direccion, con las carpetas que sean si hay

Código PHP:

<?php 
session_start
(); 
//datos para establecer la conexion con la base de mysql. 
$conexion=mysql_connect('localhost','Tu_user','Tu_password')or die ('Ha fallado la conexión: '.mysql_error()); 
mysql_select_db('registro')or die ('Error al seleccionar la Base de Datos: '.mysql_error()); 


//añadimos la funcion que se encargara de generar un numero aleatorio 
function genera_random($longitud){  
    
$exp_reg="[^A-Z0-9]";  
    return 
substr(eregi_replace($exp_reg, "", md5(rand())) .  
       
eregi_replace($exp_reg, "", md5(rand())) .  
       
eregi_replace($exp_reg, "", md5(rand())),  
       
0, $longitud);  
} 



// verificamos si se han enviado ya las variables necesarias, las que tenemos en nuestro form cambialo, como sea el tuyo. 
if (isset($_POST["username"])) { 
    
$username = $_POST["username"]; 
    
$password = $_POST["password"]; 
    
$password2 = $_POST["password2"]; 
    
$email = $_POST["email"]; 
    
// Hay campos en blanco 
    
if($username==NULL|$password==NULL|$password2==NULL|$email==NULL) { 
        echo 
"un campo está vacio."; 
        
formRegistro(); 
    }else{ 
        
// ¿Coinciden las contraseñas? 
        
if($password!=$password2) { 
            echo 
"Las contraseñas no coinciden"; 
             
        }else{ 
            
// Comprobamos si el nombre de usuario o la cuenta de correo ya existían 
            
$checkuser = mysql_query("SELECT usuario FROM usuarios WHERE usuario='$username'"); 
            
$username_exist = mysql_num_rows($checkuser); 
            
$checkemail = mysql_query("SELECT email FROM usuarios WHERE email='$email'"); 
            
$email_exist = mysql_num_rows($checkemail); 
            if (
$email_exist>0) { 
                echo 
"La cuenta de correo estan ya en uso"; 
                 
        }else{ 
                if (
$username_exist>0) { 
                echo 
"El nombre de usuario  esta ya en uso"; 
                 
                 
                 
            }else{ 
             
                  
//agregamos la variable $activate que es un numero aleatorio de  
                  //20 digitos crado con la funcion genera_random de mas arriba 
                   
                  
$activate = genera_random(20);   
                   
                  
//aqui es donde insertamos los nuevos valosres en la BD  activate y el valor 1 que es desactivado 
                   
                
$query = 'INSERT INTO usuarios (usuario, password, email, fecha, activate, estado) 
                VALUES (\''
.$username.'\',\''.$password.'\',\''.$email.'\',\''.date("Y-m-d").'\',\''.$activate.'\', 1)'; 
                
mysql_query($query) or die(mysql_error()); 
                 
                 
                 
                echo 
"<table width=70%><tr bgcolor= #61e877 class= estilo30><div align=center>"; 
                echo 
'Ha sido registrado en Cevit como: <b>'.$username.' </b>de manera satisfactoria.<br />'; 
                echo 
' Gracias. Le enviaremos ahora un email<br />'; 
                echo 
'para activar su cuenta, al correo que nos facilito.<br />'; 
                echo 
"</div></tr>"; 
                echo 
"</table>"; 
                 
                 
                 
                
$query   = "SELECT * FROM usuarios WHERE usuario='$username'"; 
         
$result = mysql_query($query , $conexion) or die ( mysql_error() ); 
         
$row   = mysql_fetch_array($result); 
  

        
//SIGO SIN ENTENDER DESDE AQUI:

         
$path="http://www.tuboolar-web.com/cevit/"; //creamos nuestra direccion, con las carpetas que sean si hay 
         //armamos nuestro link para enviar por mail en la variable $activateLink 
$activateLink=$path."activar_registro.php?id=".$row['id']."&activateKey=".$activate.""; 
                 
                          
// Datos del email 

$nombre_origen    = "Tuboolar Web"; 
$email_origen     = "[email protected]"; 
$email_copia      = "[email protected]"; 
$email_ocultos    = "[email protected]"; 
$email_destino    = "".$row['email']."";   



$asunto           = "".$row['usuario']." Datos de registro en Cevit, guarde este email."; 

$mensaje          = '<table width="629" border="0" cellspacing="1" cellpadding="2"> 
  <tr> 
    <td width="623" align="left"></td> 
  </tr> 
  <tr> 
    <td bgcolor="#2EA354"><div style="color:#FFFFFF; font-size:14; font-family: Arial, Helvetica, sans-serif; text-transform: capitalize; font-weight: bold;"><strong>     Estos son sus datos de registro, '
.$row['usuario'].'</strong></div></td> 
  </tr> 
  <tr> 
    <td height="95" align="left" valign="top"><div style=" color:#000000; font-family:Arial, Helvetica, sans-serif; font-size:12px; margin-bottom:3px;"> USUARIO: '
.$row['usuario'].'</strong><br><br><br> 
          <strong>SU CLAVE : </strong>'
.$row['password'].'</strong><br><br><br> 
          <strong>SU EMAIL : </strong>'
.$row['email'].'</strong><br><br><br> 
          <strong>SU LINK DE ACTIVACION:<br><a href="'
.$activateLink.'">'.$activateLink.' </strong></a><br><br><br> 
          <strong>POR FAVOR HAGA CLICK EN LINK DE ARRIBA PARA ACTIVAR SU CUENRA Y ACCEDER A LA PAGINA SIN RESTRICCIONES</strong><br><br><br> 
          <strong>SI EL LINK NO FUNCIONA ALA PRIMERA INTENTELO UNA SEGUNDA, EL SERVIDOR A VECES TARDA EN PROCESAR LA PRIMERA ORDEN</strong><br><br><br> 
           
          <strong>GRACIAS POR REGISTRARSE EN CEVIT.</strong><br><br><br> 
    </div> 
    </td> 
  </tr> 
</table>'
; 



$formato          = "html"; 

//*****************************************************************// 
$headers  = "From: $nombre_origen <$email_origen> \r\n"; 
$headers .= "Return-Path: <$email_origen> \r\n"; 
$headers .= "Reply-To: $email_origen \r\n"; 


$headers .= "X-Sender: $email_origen \r\n"; 

$headers .= "X-Priority: 3 \r\n"; 
$headers .= "MIME-Version: 1.0 \r\n"; 
$headers .= "Content-Transfer-Encoding: 7bit \r\n"; 

//*****************************************************************// 
  
if($formato == "html") 
 { 
$headers .= "Content-Type: text/html; charset=iso-8859-1 \r\n";  } 
   else 
    { 
$headers .= "Content-Type: text/plain; charset=iso-8859-1 \r\n";  } 

@
mail($email_destino, $asunto, $mensaje, $headers))  
     
      
                 
                 
                 
                 
                 
                } 
            } 
        } 
    } 
}else{ 
     
} 

?>
Agradezco su ayuda pues ya es la ultima validacion que me falta.

enlace de ejemplo:

http://www.forosdelweb.com/f18/aport...e-mail-564126/