need help for email confirmation! - El Forum - 10-29-2008
[eluser]newbie boy[/eluser]
Hello Everyone,
I am trying to set up a registration form. Currently, when submitted, the form writes the user's info to a database and but have not sends out an email confirmation with their registration details to the user's email address.
I also want the user to confirm their registration details by clicking on a link that is sent in the confirmation email.
How do I generate that link?
Furthermore, once I figure out how to generate that link should I have my database set up with two tables. One for registered user's data/information and one for users confirmation link through email.
Thanks in advance for all your help.
need help for email confirmation! - El Forum - 10-29-2008
[eluser]OES[/eluser]
In your database have 2 extra fields.
REG Key -> Randon string generated on signup and sent with confirm url string.
Then a boleen for a field called registered set to 0 by default.
Then when they click the link it checks against the random string if correct is sets the boleen to true.
Then you can do your login / out routines based on the registered field etc.
need help for email confirmation! - El Forum - 10-30-2008
[eluser]newbie boy[/eluser]
sorry for my stupidity, i'm just really very new to CI. i'm really lost in translation.
need help for email confirmation! - El Forum - 10-30-2008
[eluser]newbie boy[/eluser]
will anyone be kind enough to revised this native php code using the CI. thank you very much.
Code: <?php
require_once('db.php');
include('functions.php');
if(isset($_POST['register']))
{
if($_POST['username']!='' && $_POST['password']!='' && $_POST['password']==$_POST['password_confirmed'] && $_POST['email']!='' && valid_email($_POST['email'])==TRUE && checkUnique('Username', $_POST['username'])==TRUE && checkUnique('Email', $_POST['email'])==TRUE)
{
$query = mysql_query("INSERT INTO users (`Username` , `Password`, `Email`, `Random_key`) VALUES ('".mysql_real_escape_string($_POST['username'])."', '".mysql_real_escape_string(md5($_POST['password']))."', '".mysql_real_escape_string($_POST['email'])."', '".random_string('alnum', 32)."')") or die(mysql_error());
$getUser = mysql_query("SELECT ID, Username, Email, Random_key FROM users WHERE Username = '".mysql_real_escape_string($_POST['username'])."'") or die(mysql_error());
if(mysql_num_rows($getUser)==1)
{//there's only one MATRIX :PP
$row = mysql_fetch_assoc($getUser);
$headers = 'From: [email protected]' . "\r\n" .
'Reply-To: [email protected]' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
$subject = "Activation email from ourdomainhere.com";
$message = "Dear ".$row['Username'].", this is your activation link to join our website. In order to confirm your membership please click on the following link: http://www.ourdomainhere.com/confirm.php?ID=".$row['ID']."&key=".$row['Random_key']." Thank you for joining";
if(mail($row['Email'], $subject, $message, $headers))
{//we show the good guy only in one case and the bad one for the rest.
$msg = 'Account created. Please login to the email you provided during registration and confirm your membership.';
}
else {
$error = 'I created the account but failed sending the validation email out. Please inform my boss about this cancer of mine';
}
}
else {
$error = 'You just made possible the old guy (the impossible). Please inform my boss in order to give you the price for this.';
}
}
else {
$error = 'There was an error in your data. Please make sure you filled in all the required data, you provided a valid email address and that the password fields match';
}
}
?>
<?php if(isset($error)){ echo $error;}?>
<?php if(isset($msg)){ echo $msg;} else {//if we have a mesage we don't need this form again.?>
<form action="<?=$_SERVER['PHP_SELF']?>" method="post">
Username: <input type="text" id="username" name="username" size="32" value="<?php if(isset($_POST['username'])){echo $_POST['username'];}?>" /><br />
Password: <input type="password" id="password" name="password" size="32" value="" /><br />
Re-password: <input type="password" id="password_confirmed" name="password_confirmed" size="32" value="" /><br />
Email: <input type="text" id="email" name="email" size="32" value="<?php if(isset($_POST['email'])){echo $_POST['email'];}?>" /><br />
<input type="submit" name="register" value="register" /><br />
</form>
<? } ?>
need help for email confirmation! - El Forum - 10-31-2008
[eluser]sophistry[/eluser]
why do you ask the same question in two threads? you are so busy posting your code... you should really just buckle under and get the job done. ;-)
|