Foros del Web » Programando para Internet » PHP »

activacion de usuarios por mail...no entiendo

Estas en el tema de activacion de usuarios por mail...no entiendo en el foro de PHP en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 06/06/2011, 12:49
 
Fecha de Ingreso: octubre-2010
Ubicación: Guayaquil
Mensajes: 195
Antigüedad: 13 años, 6 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/
  #2 (permalink)  
Antiguo 06/06/2011, 12:54
Avatar de Sourcegeek
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: $mex['B.C.'];
Mensajes: 1.816
Antigüedad: 15 años
Puntos: 322
Respuesta: activacion de usuarios por mail...no entiendo

No crea ninguna dirección, si no que la asigna a una variable.
De ahí, en la siguiente línea lo concatena, quedando realmente la string así:
Código PHP:
$activateLink="http://www.tuboolar-web.com/cevit/activar_registro.php?id=".$row['id']."&activateKey=".$activate.""
Lo demás simplemente crea el cuerpo del mensaje y lo envía.

Saludos!
__________________
Buscas desarrollador web? Sourcegeek. Diseño web, Maquetación y Programación
¡Escribe bien! Esto es un foro, no un Facebook para que escribas con los pies
  #3 (permalink)  
Antiguo 06/06/2011, 12:58
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 14 años, 10 meses
Puntos: 641
Respuesta: activacion de usuarios por mail...no entiendo

esta concatenando una ruta, donde se supone que va el archivo que activa la cuenta, me imagino que es para no errarle con eso de las rutas relativas, solo pones la dirección de la carpeta del archivo XD (que chistoso se oye) que activa las cuentas.

edito: me ganaron XD
  #4 (permalink)  
Antiguo 06/06/2011, 13:00
 
Fecha de Ingreso: marzo-2011
Mensajes: 88
Antigüedad: 13 años, 1 mes
Puntos: 17
Respuesta: activacion de usuarios por mail...no entiendo

Hola amigo, yo acabo de hacer algo parecido, no se muy bien cual es tu duda pero te comento lo del código:

Cita:
$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=".$ro w['id']."&activateKey=".$activate."";
Lo que hace este fragmento de código es primero almacenar en la variable $path, la ruta donde tienes los archivos de la página, me explico, imaginate que tienes en tu dominio una carpeta que se llama 'registro' y dentro de registro tienes varios documentos como por ejemplo 'formulario.php' , 'validarFormulario.php' etc etc ....

Pues $path es la ruta, la asignas una vez y luego la puedes utilizar varias veces sin necesidad de escribir toda la ruta...

Es mas facil poner $path="http://www.tuboolar-web.com/cevit/"; una sola vez y luego llamarla cada vez que quieras.

$path."activar_registro.php" En realidad significa esto:

http://www.tuboolar-web.com/cevit/activar_registro.php

Etiquetas: acivacion, mail, usuarios
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:36.