PDA

View Full Version : سوال: فعال سازی حساب کاربری با ایمیل



bluedream
چهارشنبه 16 مهر 1393, 20:54 عصر
سلام دوستان..
من یه فرم ثبت نام دارم که میخوام وقتی کسی پرش کرد برای فعال شدن حسابش یه ایمیل تایید دریافت کنه و از طریق کلیک کردن روی لینک حسابش رو فعال کنه..
ممنون می شم راهنمایی کنین..

thacker
چهارشنبه 16 مهر 1393, 21:38 عصر
توی جدول کاربران یک ستون به عنوان کد یکتای کاربر ایجاد کنید و موقع ثبت نام کاربر یک کد رندوم تولید کنید و توی اون ستون ذخیره کنید و وضعیت کاربر رو مساوی صفر قرار بدید ... کد تولید شده رو برای فرد ایمیل کنید و وقتی کاربر کد اختصاصی خودش رو به درستی وارد کرد توی صفحه تائیدیه ، وضعیتش رو مساوی 1 قرار بدید که یعنی تائید شده و وضعیتش فعال هست ...

bluedream
چهارشنبه 16 مهر 1393, 22:40 عصر
مرسی ولی من می خوام یه لینک برای کاربر ایمیل بشه که با کلیک روی اون حساب کاربریش فعال بشه.. نمی خوام کد فعال سازی بهش بدم..

thacker
چهارشنبه 16 مهر 1393, 23:10 عصر
خوب کد اختصاصی کاربر رو با get توسط لینکی که تو ایمیل هست براش ارسال میکنید ...
مثلا اینجوری :

http://domain.com/register.php?username=bluedream&active_code=12345

بعد چک میکنید اگه کد اختصاصی کاربر توی دیتابیس برابر با 12345 بود وضعیت کاربر رو از 0 به 1 آپدیت کنه ...
مثال :


if(isset($_GET['active_code']) && isset($_GET['username'])) {

$username = $_GET['username'];
$active_code = $_GET['active_code'];

$Query = mysql_query ("SELECT `active_code` FROM `users` WHERE `username` = $username LIMIT 1");
$row = mysql_fetch_array($Query);

if($row['active_code'] == $active_code) {
$update = mysql_query ("UPDATE `users` SET `status` = '1' WHERE `username` = $username LIMIT 1");
}

}

bluedream
چهارشنبه 16 مهر 1393, 23:43 عصر
ببخشید ولی من متوجه نشدم این لینک رو چه جوری بفرستم.. درضمن وقتی کسی فرم عضویت رو پر می کنه که نمی شه از متد get استفاده کرد..

thacker
پنج شنبه 17 مهر 1393, 00:09 صبح
باید وقتی که ثبت نام کاربر با موفقیت تمام میشه ، توسط تابع mail() یک ایمیل حاوی لینک فعالسازی به ایمیلی که کاربر هنگام ثبت نام وارد کرده ارسال کنید ... در مورد تابع mail سرچ کنید مثال های زیادی وجود داره ...
در مورد استفاده از get هم هیچ مشکلی وجود نداره ... من بطور مثال گفتم صفحه register.php رو ... میتونید از هر صفحه ای استفاده کنید ... مثلا یه صفحه جدید به اسم Activation.php ایجاد کنید و کدها رو توش قرار بدین ...