روزانه تعداد زیادی درخواست برای آموزش های مختلف دریافت می کنم که با توجه به اینکه هم اکنون وقت کافی برای قرار دادن آموزش ها داریم قصد دارم به درخواست های شما عزیزان رسیدگی نماییم . یکی از بیشترین درخواست های کاربران که همیشه در ایمیل از ما داشتند تایید به وسیله ایمیل بود . در واقع کاربران از ما این مورد رو در whmcs میخواستند اما خب فکر کنم با این آموزش سمپلی ایجاد میشه و به راحتی میتونن با whmcs نیز همین کار رو انجام بدند
1 : در اولین مرحله یک دیتابیس ایجاد می کنیم و کدهای زیر را در آن ایمپورت میکنیم
CREATE TABLE IF NOT EXISTS `users` ( `uid` int(11) NOT NULL AUTO_INCREMENT, `email` varchar(300) NOT NULL UNIQUE, `password` varchar(300) NOT NULL, `activation` varchar(300) NOT NULL UNIQUE, `status` enum('0','1') NOT NULL DEFAULT '0', PRIMARY KEY (`uid`) )
2 : کد های HTML – یک فایل به اسم index.php می سازیم و کدهای زیر را در ابتدای آن قرار میدهیم
<form action="" method="post"> <label>Email</label> <input type="text" name="email" class="input" autocomplete="off"/> <label>Password </label> <input type="password" name="password" class="input" autocomplete="off"/><br/> <input type="submit" class="button" value="Registration" /> <span class='msg'><?php echo $msg; ?></span> </form>
3 : یک فایل به اسم db.php ایجاد می کنیم و کدهای زیر را در آن قرار میدهیم . این فایل در واقع کانفیگ شما می باشد
<?php define('DB_SERVER', 'www.vahabonline.ir'); define('DB_USERNAME', 'username'); define('DB_PASSWORD', 'password'); define('DB_DATABASE', 'database'); $connection = @mysqli_connect(DB_SERVER,DB_USERNAME,DB_PASSWORD,DB_DATABASE); $base_url='http://www.youwebsite.com/email_activation/'; ?>
4 : در فایل index.php خود کدهای زیر را در اولین خط قرار دهید . یعنی ابتدا کدهای زیر باشد و سپس کدهای html بالا
<?php include 'db.php'; $msg=''; if(!empty($_POST['email']) && isset($_POST['email']) && !empty($_POST['password']) && isset($_POST['password']) ) { // username and password sent from form $email=mysqli_real_escape_string($connection,$_POST['email']); $password=mysqli_real_escape_string($connection,$_POST['password']); // regular expression for email check $regex = '/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$/'; if(preg_match($regex, $email)) { $password=md5($password); // encrypted password $activation=md5($email.time()); // encrypted email+timestamp $count=mysqli_query($connection,"SELECT uid FROM users WHERE email='$email'"); // email check if(mysqli_num_rows($count) < 1) { mysqli_query($connection,"INSERT INTO users(email,password,activation) VALUES('$email','$password','$activation')"); // sending email include 'smtp/Send_Mail.php'; $to=$email; $subject="Email verification"; $body='Hi, <br/> <br/> We need to make sure you are human. Please verify your email and get started using your Website account. <br/> <br/> <a href="'.$base_url.'activation/'.$activation.'">'.$base_url.'activation/'.$activation.'</a>'; Send_Mail($to,$subject,$body); $msg= "Registration successful, please activate email."; } else { $msg= 'The email is already taken, please try new.'; } } else { $msg = 'The email you have entered is invalid, please try again.'; } } // HTML Part ?>
5 : دقت کنید در فایل index.php کد زیر تعریف شده است
include 'smtp/Send_Mail.php';
این به این معنی است که یک پوشه به اسم smtp بسازید و سپس یک فایل به نام Send_Mail.php بسازید و کدهای زیر را در آن قرار دهید
<?php function Send_Mail($to,$subject,$body) { require 'class.phpmailer.php'; $from = "from@yourwebsite.com"; $mail = new PHPMailer(); $mail->IsSMTP(true); // use SMTP $mail->IsHTML(true); $mail->SMTPAuth = true; // enable SMTP authentication $mail->Host = "tls://smtp.yourwebsite.com"; // SMTP host $mail->Port = 465; // set the SMTP port $mail->Username = "SMTP_Username"; // SMTP username $mail->Password = "SMTP_Password"; // SMTP password $mail->SetFrom($from, 'From Name'); $mail->AddReplyTo($from,'From Name'); $mail->Subject = $subject; $mail->MsgHTML($body); $address = $to; $mail->AddAddress($address, $to); $mail->Send(); } ?>
6 : سپس در کنار فایل index.php خود یک فایل به اسم activation.php بسازید و کدهای زیر را در آن قرار دهید
<?php include 'db.php'; $msg=''; if(!empty($_GET['code']) && isset($_GET['code'])) { $code=mysqli_real_escape_string($connection,$_GET['code']); $c=mysqli_query($connection,"SELECT uid FROM users WHERE activation='$code'"); if(mysqli_num_rows($c) > 0) { $count=mysqli_query($connection,"SELECT uid FROM users WHERE activation='$code' and status='0'"); if(mysqli_num_rows($count) == 1) { mysqli_query($connection,"UPDATE users SET status='1' WHERE activation='$code'"); $msg="Your account is activated"; } else { $msg ="Your account is already active, no need to activate again"; } } else { $msg ="Wrong activation code."; } } ?> //HTML Part <?php echo $msg; ?>
7 : در این مرحله فقط باید یک فایل .htaccess بسازید و مد ری رایت را فعال کنید و کدهای زیر را در آن قرار دهید
RewriteEngine On RewriteRule ^activation/([a-zA-Z0-9_-]+)$ activation.php?code=$1 RewriteRule ^activation/([a-zA-Z0-9_-]+)/$ activation.php?code=$1
8 : در آخرین مرحله هم کدهای css اسکریپت رو قرار میدیم . یک فایل به اسم style.css بسازید و کدهای زیر را در آن قرار دهید
body { font-family: "Helvetica",Arial,sans-serif; font-weight: 500; color:#333; } label { width:100px; display:block; font-weight:bold; color:#666666; } #main { margin:0 auto; width:800px; } .input { padding:10px; font-size:14px; border:1px solid #999999; width:200px; margin-bottom:10px; } .button { padding:10px; background-color: #5fcf80 !important; border-color: #3ac162 !important; } .msg { font-size:11px; color:#666; padding:10px; }
به همین سادگی کار تمام است
حالا شما یک اسکریپت برای ویرفای ایمیل ساختید و میتونید به راحتی ازش استفاده کنید
همچنین میتونید اسکریپت رو به صورت کامل دانلود کنید
[aio_button align=”center” animation=”flash” color=”purple” size=”small” icon=”none” text=”دانلود اسکریپت تایید ایمیل” relationship=”dofollow” url=”http://vahabonline.ir/wp-content/uploads/2016/03/email_activation2.zip”]
در فایل ضمیمه شده بالا در پوشه smtp چندین فایل php قرار داده ایم و این برای این بوده است که شاید شما نخواهید فقط از smtp استفاده کنید شاید بخواهید با http یا pop3 نیز ارسال کنید که می توانید از آنها نیز استفاده نمایید
امیدواریم این آموزش مورد پسند و رضایت شما عزیزان واقع شده باشد . در صورتی که سوال یا مشکلی داشتید از طریق بخش نظرات همین مطلب با ما در ارتباط باشید
با سلام
جناب وهاب از این که بخش اموزشی رو راه اندازی کردید واقعا خوشحالم و امیدوارم در این بخش کم لطفی نشه چون خیلی مورد استقبال قرار خواهد گرفت اگه مطالب مفید باشه مثل این پست
فقط اگه ممکنه کامل ترش کنید درواقع چطور این اسکریپتی که ایجاد کردیم رو به whmcs متصل کنیم که اول ایمیل کاربری که داره ثبت نام میکنه تایید بشه و بعد بتونه از حساب کاربریش استفاده کنید
اگه ممکنه این بخش رو کامل توضیح بدید که کمک بزرگی به افرادی مثل من که این امکانانو میخوان میکنید باتشکر ….
سلام محمد رضا جان
ممنونم از توجهتون . انشالله از این پس هر یک یا دو روز در میون آپدیت انجام میشه
در مورد اینکه چطور به whmcs وصل کنیم ساده ترین کار و حالت اینه که شما یک کوچولو سیستم رو عوض کنید . اما چطور ؟
کافیه فایل register.php رو تغییر بدید و به جاش در صفحه اول ایمیل کاربر رو تایید کنید . بعد در پیغام تایید بیاید فرم عضویت رو قرار بدید
یعنی اول کار کاربر ایمیل تایید شده بزنه و بعد از تایید بتونه فرم ثبت نام رو ببینه . به همین سادگی به whmcs خودتون وصل میکنید
باز هم کمکی خواستید در خدمتتون هستیم
با سلام
جناب وهاب از این که بخش اموزشی رو راه اندازی کردید واقعا خوشحالم و امیدوارم در این بخش کم لطفی نشه چون خیلی مورد استقبال قرار خواهد گرفت اگه مطالب مفید باشه مثل این پست
فقط اگه ممکنه کامل ترش کنید درواقع چطور این اسکریپتی که ایجاد کردیم رو به whmcs متصل کنیم که اول ایمیل کاربری که داره ثبت نام میکنه تایید بشه و بعد بتونه از حساب کاربریش استفاده کنید
اگه ممکنه این بخش رو کامل توضیح بدید که کمک بزرگی به افرادی مثل من که این امکانانو میخوان میکنید باتشکر ….
سلام محمد رضا جان
ممنونم از توجهتون . انشالله از این پس هر یک یا دو روز در میون آپدیت انجام میشه
در مورد اینکه چطور به whmcs وصل کنیم ساده ترین کار و حالت اینه که شما یک کوچولو سیستم رو عوض کنید . اما چطور ؟
کافیه فایل register.php رو تغییر بدید و به جاش در صفحه اول ایمیل کاربر رو تایید کنید . بعد در پیغام تایید بیاید فرم عضویت رو قرار بدید
یعنی اول کار کاربر ایمیل تایید شده بزنه و بعد از تایید بتونه فرم ثبت نام رو ببینه . به همین سادگی به whmcs خودتون وصل میکنید
باز هم کمکی خواستید در خدمتتون هستیم
سلام
شرکت ما نیاز داره که مشتریان قبل از استفاده از خدمات ایمیل شون رو تایید کنن،فقط هم تایید مهمه ،لازم نیست فرم خاصی رو تکمیل کنن،میتونید راهنماییم کنید؟
درود
سیستم شما چیست ؟