Benim web sitesi için bir giriş sistemi yazdı. Kullanıcı kayıtları, sistem e-postaları e-posta etkinleştirme bağlantısı sağlanan kullanıcıya hitap ederken. Bağlantı iki parametre, e-posta ve anahtar içerir. E-posta parametresi kullanıcının e-posta adresine sahip ve kayıt teyit bekleyen den doğrulanmış ve değiştirilebilir böylece anahtar parametre kayıt kodu vardır. Aktivasyon sayfası E-posta sütunundaki e-posta parametre belirledi satırın Durum sütununu almak gerekiyordu. Nedense, komut dosyası herhangi bir bağlantı geçerli olduğunu karar verir ve var olup olmadığını hesabının durumunu güncellemek için çalışır.
Here is my code:
<?php
$email = $_GET['email'];
if($email == "") {
header("Location: http://www.zbrowntechnology.info/yard/register.php?message=Invalid Activation Link!");
exit;
}
$key = $_GET['key'];
if($key == "") {
header("Location: http://www.zbrowntechnology.info/yard/register.php?message=Invalid Activation Link!");
exit;
}
$con = mysql_connect("HOST", "USER", "PASS") or die(mysql_error());
mysql_select_db("zach_yardad", $con) or die(mysql_error());
$query1 = "SELECT `Status` FROM Accounts WHERE `Email`='".mysql_real_escape_string($email)."' AND `Status`='".mysql_real_escape_string($key)."'";
$result1 = mysql_query($query1) or die(mysql_error());
if(mysql_num_rows($result1) <= 0) {
header("Location: http://www.zbrowntechnology.info/yard/register.php?message=Invalid Activation Link!");
exit;
} else {
$query = "UPDATE Accounts SET `Status`='Confirmed' WHERE `Email`='$email'";
mysql_query($query) or die(mysql_error());
header("Location: http://www.zbrowntechnology.info/yard/login.php?message=Registration Complete!");
exit;
}
?>
Burada geçerli bir etkinleştirme link:
http://www.zbrowntechnology.info/yard/activate.php?email=zach@zbrowntechnology.com&key=2772190956485245
Bu bağlantıyı takip ederek hesabınızı aktive edecek, ancak bağlantı geçerli değil eğer aktivasyon sonra giriş sayfasına yönlendirir.
EDIT:
İşte sorgunun sonucu DESCRIBE `Accounts`
:
First Name varchar(65) NO NULL
Last Name varchar(65) NO NULL
Email varchar(100) NO NULL
Username varchar(65) NO NULL
Password varchar(65) NO NULL
Status varchar(65) NO NULL