Vale, gracias por todo. Ahora lo que me pasa es que me salta este error al darle click al enlace que me envia el código aleatorio generado en el register:
Aquí te paso el register.php:
Código PHP:
<?php
require_once('./config/funciones.php');
conectar('+++++', '+++', '++++', 'a6612376_users');
//Recibir
$user = strip_tags($_POST['usernamesignup']);
$pass = strip_tags(sha1($_POST['passwordsignup']));
$mail = strip_tags($_POST['emailsignup']);
$repw = strip_tags($_POST['passwordsignup_confirm']);
$ip = $_SERVER['REMOTE_ADDR'];
$key = $aleatorio = uniqid();
$activado = "0";
$query = @mysql_query('SELECT * FROM users WHERE user="'.mysql_real_escape_string($user).'"');
if($existe = @mysql_fetch_object($query))
{
echo 'El usuario '.$user.' ya existe.';
header("refresh: 4; url=./register.html");
}else{
$meter = @mysql_query('INSERT INTO users (user, pass, mail, codigo, activado, ip) values ("'.mysql_real_escape_string($user).'","'.mysql_real_escape_string($pass).'","'.mysql_real_escape_string($mail).'","'.
mysql_real_escape_string($key).'","'.
mysql_real_escape_string($activado).'","'.
$ip.'")');
if($meter)
{
echo"Usuario <strong>$user</strong> creado con éxito</br>";
$para = $mail; //hace referencia a la variable email...
$titulo = "Activar cuenta";
$mensaje = "Para activar la cuenta, es necesario entrar en este enlace: http://ofserker.netai.net/verificar.php?id=$key";
$cabeceras = 'MIME-Version: 1.0' . "\r\n";
$cabeceras = 'Content-type: text/plain; charset=iso-8859-1' . "\r\n";
$cabeceras = 'From: [email protected]' . "\r\n";
mail($para, $titulo, $mensaje, $cabeceras);
echo "Enviando un mail a <strong>$mail</strong> que luego deberás aceptar";
header("refresh: 10; url=./index.php");
}else{
echo 'Hubo un error en el registro';
header("refresh: 4; url=./index.php");
}
}
?>
Aquí te paso el mail.php:
Código PHP:
<?php
require_once('./config/funciones.php');
conectar('+++++', '+++', '++++', 'a6612376_users');
$key = $_GET['codigo'];
$query=mysql_query("SELECT * FROM users WHERE codigo='$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ódigo es incorrecto</p>";
echo "<a href='../index.php'>Loguearse</a>";
}
?>
No se si están bien los códigos, los he ido cogiendo poco a poquito. Pero así se apriende.
Atentamente, OfSerker