Comunidad de diseño web y desarrollo en internet online

PROBLEMAS CON LOGIN. AYUDA!

Citar            
MensajeEscrito el 22 May 2009 01:01 pm
Hola a todos! mi nombre es Jorge como van? pq yo un desastre con esto de la programación :lol: ...bueno paso a comentarles mi problema. Estoy intentando hacer un simple registro (usuario y contraseña)
ya busqué y bajé creo que todos los tutoriales de la web y aprendí mucho. Ya se hacer la base de datos armar el php etc. y funciona!. el problema es que son registros directos, y yo necesito que cuando el usuario se registre se le envie un email con un link de activación de cuenta.
como yo recien estoy aprendiendo programación no tengo idea de como hacer.
se que a la base de datos le agrego un valor mas que este en 0 etc, hasta ahi bien.
pero no se como decirle al php que mande el email, y el link.
alguien sabe como?, si tienen algun tutorial seria genial por que no existen en la web de esos. estoy como loco hace 2 semanas que estoy intentando hacer esto :? gracias a todos!!!!!

encontre este tutorial http://www.php-login-script.com/
funciona todo, pero el email de activacion que me llega me manda a un "error 404 no encuentra pagina"

CREATE TABLE `users` (
`id` int(20) NOT NULL auto_increment,
`full_name` varchar(200) collate latin1_general_ci NOT NULL default '',
`user_name` varchar(200) collate latin1_general_ci NOT NULL default '',
`user_pwd` varchar(200) collate latin1_general_ci NOT NULL default '',
`user_email` varchar(200) collate latin1_general_ci NOT NULL default '',
`activation_code` int(10) NOT NULL default '0',
`joined` date NOT NULL default '0000-00-00',
`country` varchar(100) collate latin1_general_ci NOT NULL default '',
`user_activated` int(1) NOT NULL default '0',
PRIMARY KEY (`id`)
)


se que user_activate es lo del link, pero no se mas. Ayuda por gavor!!!!!! ya no se mas que hacer!!
GRACIAS!!!

Por strangger_696

2 de clabLevel



 

msie7
Citar            
MensajeEscrito el 22 May 2009 03:45 pm
Pega el codigo asi vemos cualquier posible error o si falta algo al script. Saludos! :D

Por vakeronqn

5 de clabLevel



 

firefox
Citar            
MensajeEscrito el 22 May 2009 05:11 pm
Gracias por responder vakeronqn... sabes, no se que me pasa cone ste codigo, el email con el link de activación se envia sin problemas cuando se hace el registro.
el problema es que cuando hago click en el link me da "error 404 no encuentra pagina"
paso los codigos a ver si me puedes ayudar.


el codigo en donde se registra es asi "se supone que este manda el email" no? por las dudas la base de datos esta arriba para que veas que es lo que llama.

<?php
session_start();


include ('dbc.php');


if ($_POST['Submit'] == 'Register')
{
if (strlen($_POST['email']) < 5)
{
die ("Incorrect email. Please enter valid email address..");
}
if (strcmp($_POST['pass1'],$_POST['pass2']) || empty($_POST['pass1']) )
{
//die ("Password does not match");
die("ERROR: Password does not match or empty..");

}
if (strcmp(md5($_POST['user_code']),$_SESSION['ckey']))
{
die("Invalid code entered. Please enter the correct code as shown in the Image");
}
$rs_duplicates = mysql_query("select id from users where user_email='$_POST[email]'");
$duplicates = mysql_num_rows($rs_duplicates);

if ($duplicates > 0)
{
//die ("ERROR: User account already exists.");
header("Location: register.php?msg=ERROR: User account already exists..");
exit();
}




$md5pass = md5($_POST['pass2']);
$activ_code = rand(1000,9999);
$server = $_SERVER['HTTP_HOST'];
$host = ereg_replace('www.','',$server);
mysql_query("INSERT INTO users
(`user_email`,`user_pwd`,`country`,`joined`,`activation_code`,`full_name`)
VALUES
('$_POST[email]','$md5pass','$_POST[country]',now(),'$activ_code','$_POST[full_name]')") or die(mysql_error());

$message =
"Thank you for registering an account with $server. Here are the login details...\n\n
User Email: $_POST[email] \n
Password: $_POST[pass2] \n
Activation Code: $activ_code \n
____________________________________________
*** ACTIVATION LINK ***** \n
Activation Link: http://$server/activate.php?usr=$_POST[email]&code=$activ_code \n\n
_____________________________________________
Thank you. This is an automated response. PLEASE DO NOT REPLY.
";

mail($_POST['email'] , "Login Activation", $message,
"From: \"Auto-Response\" <notifications@$host>\r\n" .
"X-Mailer: PHP/" . phpversion());
unset($_SESSION['ckey']);
echo("Registration Successful! An activation code has been sent to your email address with an activation link...");

exit;
}

?>







Y CUANDO SE VA A ACTIVAR LLAMA A ESTA PAGINA, ESTE ES EL CODIGO:

<?php
session_start();
include ('dbc.php');

if (!isset($_GET['usr']) && !isset($_GET['code']) )
{
$msg = "ERROR: Invalid code...";
exit();
}

$rsCode = mysql_query("SELECT activation_code from users where user_email='$_GET[usr]'") or die(mysql_error());

list($acode) = mysql_fetch_array($rsCode);

if ($_GET['code'] == $acode)
{
mysql_query("update users set user_activated=1 where user_email='$_GET[usr]'") or die(mysql_error());
echo "<h3>Thank you </h3>Email confirmed and account activated. You can <a href=\"login.php\">login</a> now..";
} else
{ echo "ERROR: Incorrect activation code...not valid"; }


GRACIAS!!!!!!!!!!

Por strangger_696

2 de clabLevel



 

msie7
Citar            
MensajeEscrito el 22 May 2009 05:59 pm

Por strangger_696

2 de clabLevel



 

msie7

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.