Ver Mensaje Individual
  #21 (permalink)  
Antiguo 10/08/2008, 02:06
nachosaenz
 
Fecha de Ingreso: agosto-2008
Mensajes: 20
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: APORTE: Avtivacion de cuenta de usuarios via e-mail.

jaronu
..........
mira lo monto con echo en vez de funcion mail para comprobar
y lo manda ingreso las variables en la bd todas pero la ip la fecha y la hora que yo he ampliado no me las ingresa bien pone en fecha esto 0000-00-00 en ip nada y en hora esto 00:00:00
lo demas bien activo el links y pasa el estado de 1 a 0 ok pero cuando hago login me dice password incorrecto y es la correcta me puedes ayudar mis archivo son estos
...........
registrar.php
.........
<?php
session_start();
//datos para establecer la conexion con la base de mysql.
$conexion=mysql_connect('ihhhh0','i1ggg','8ggggggg gggggi')or die ('Ha fallado la conexión: '.mysql_error());
mysql_select_db('iiiiiiiiiiiii7')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);
}
function formRegistro(){
?>
<html>
<header>
<body>
<form action="http://ss.idoo.com/registrar.php" method="post">
Usuario :
<input type="text" name="username" size="13" maxlength="20" >

Password :
<input type="password" name="password" size="10" maxlength="10" >
Confirma :
<input type="password" name="password2" size="10" maxlength="10" >
Email :
<input type="text" name="email" size="19" maxlength="40" >
<input type="submit" value="Registrar" >
</form>
</body>
</html>
<?php
}

// 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"];
$email = $_POST["email"];
$password = $_POST["password"];
// Hay campos en blanco
if($username==NULL|$email==NULL|$password==NULL) {
echo "un campo está vacio.";
formRegistro();
} else {
// Comprobamos si el nombre de usuario o la cuenta de correo ya existían
$checkuser = mysql_query("SELECT username FROM registrounpu WHERE username='$username'");
$username_exist = mysql_num_rows($checkuser);
$checkemail = mysql_query("SELECT email FROM registrounpu WHERE email='$email'");
$email_exist = mysql_num_rows($checkemail);
if ($email_exist>0) {
echo "La cuenta de correo estan ya en uso";
formRegistro();
} else {
if ($username_exist>0) {
echo "El nombre de usuario esta ya en uso";
formRegistro();
} 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 registrounpu (username, password, email, ip, fecha, hora, activate, estado )
VALUES (\''.$username.'\',\''.$password.'\',\''.$email.'\ ',\''.$ip.'\',\''.$fecha.'\',\''.$hora.'\',\''.$ac tivate.'\', 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 Ss Foro 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 registrounpu WHERE username='$username'";
$result = mysql_query($query , $conexion) or die ( mysql_error() );
$row = mysql_fetch_array($result);

$path="http://ss.idoo.com/registros/"; //creamos nuestra direccion, con las carpetas que sean si hay
//armamos nuestro link para enviar por mail en la variable $activateLink
$activateLink=$path."activar_cuenta.php?id=".$row['id']."&activateKey=".$activate."";

// Datos del email

$nombre_origen = "http://blog.idoo.com/ss";
$email_origen = "[email protected]";
$email_copia = "[email protected]";
$email_ocultos = "[email protected]";
$email_destino = "".$row['email']."";
$asunto = "".$row['username']." Datos de registro en Ss Foro, 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['username'].'</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['username'].'</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 SS FORO.</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";
}
//if (@mail($email_destino, $asunto, $mensaje, $headers))
echo $email_destino."<br />".$asunto."<br />".$mensaje."<br />".$headers;
//{ }






//}
}
}
}
} else {
formRegistro();
}
?>
..............
activar_cuenta
...........................
<?php

mysql_connect('igggggg0','ir5gggg5','8fffffffffffn i')or die ('Ha fallado la conexión: '.mysql_error());
mysql_select_db('ifffff556')or die ('Error al seleccionar la Base de Datos: '.mysql_error());

//recogemos los valores enviados por el link de activacion que mandamos por mail
if (isset($_GET['id'])) {
$idval=$_GET['id'];
$activate2=$_GET['activateKey']; ;
//y aqui es donde cambiamos el valor 1=desactivado por valor 0=activado
$query = "UPDATE registrounpu
SET estado = '0' WHERE id = '$idval' AND activate ='$activate2' " ;
mysql_query($query) or die(mysql_error());
?>

<SCRIPT LANGUAGE="javascript">
location.href = "http://blog.idoo.com/ss";

</SCRIPT>

<?

}else{
echo "activacion incompleta.";

}


?>
........................
login formulario
......................
<form action="http://ss.idoo.com/validar_usuario.php" method="post">
Usuario : <input type="text" name="usuario" size="20" maxlength="20" />
Password :
<input type="password" name="password" size="10" maxlength="10" />
<input type="submit" value="Ingresar" />
<form action="http://ss.idoo.com/validar_index.php" method="post">
<input name="Restablecer" type="reset" value="Volver Atras" />
.......................