نقطه ویرگول;

هر از گاهی از هر چیزی

هر از گاهی از هر چیزی

آموزش ساخت صفحه ورود (لاگین)

يكشنبه, ۲۶ دی ۱۳۸۹، ۰۳:۳۷ ب.ظ
لاگین و  تعیین اعتبار کاربر یکی از متداولترین خصوصیت های یک وبسایت پویاست. در این مثال بر آنیم تا  نمونه از یک صفحه ورود که در هر وبسایت پویایی نیاز است را در سطحی متوسط از برنامه نویسی پی اچ پی آموزش دهیم.قبل از هر چیزی بهتر است یک نمای کلی از صفحاتی که در این آموزش نیاز خواهیم داشت را شرح بدم.
config.php: تنظیمات و جزئیات کانکت شدن دیتابیس در این فایل قرار خواهد گرفت.
login-form.php:فرم لاگین
login-exec.php:پردازش ها از فرم لاگین به این فرم هدایت خواهند شد،و مراحل اعتبار سنجی کاربر و تنظیمات سشن در این  صفحه انجام خواهد شد.
logout.php:به کمک این صفحه کاربر از سشن خارج میشود.
auth.php: به کمک این صفحه خواهیم توانست از لاگین بودن یا نبودن کاربرا با خبر شویم.
خب قبل از هر چیز  دیتابیس این مثال رو میسازیم،میتونید از کد زیر برای ساخت دیتابیس که حاوی یه تیبل به نام member  هست استفاده کنید:
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
--
-- Database: `login`
--
-- --------------------------------------------------------
--
-- Table structure for table `members`
--
CREATE TABLE IF NOT EXISTS `members` (
`member_id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`firstname` varchar(100) DEFAULT NULL,
`lastname` varchar(100) DEFAULT NULL,
`login` varchar(100) NOT NULL DEFAULT '',
`passwd` varchar(32) NOT NULL DEFAULT '',
PRIMARY KEY (`member_id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;
--
-- Dumping data for table `members`
--
INSERT INTO `members` (`member_id`, `firstname`, `lastname`, `login`, `passwd`) VALUES
(1, 'test', 'test', 'test', '098f6bcd4621d373cade4e832627b4f6');
بعد اجرای کد بالا جدولی به شکل زیر خواهیم داشت.

بعد این مرحله فایلی به نام config ساخته و کد زیر را داخل اون قرار میدیم:

 define('DB_HOST', 'localhost');//نام هاستی که استفاده میکنید
define('DB_USER', 'root');//نام کاربری که برای اتصال به پایگاه داده از آن استفاده میشود که به صورت پیشفرض روت هست
define('DB_PASSWORD', '');//پسوردی که برای اتصال نیاز داریم که به صورت پیشفرض خالی است
define('DB_DATABASE', 'login');//نام دیتابیسمون که من لاگین انتخاب کردم
?>
سپس فایلی به نام login-form.php ساخته و فرم لاگین مورد نظرتون رو طراحی میکنید که من از کد زیر برای طراحیش استفاده کردم:




Login Form



if( isset($_SESSION['ERRMSG_ARR']) && is_array($_SESSION['ERRMSG_ARR']) && count($_SESSION['ERRMSG_ARR']) >0 ) {
echo '
    ';
    foreach($_SESSION['ERRMSG_ARR'] as $msg) {
    echo '
  • ',$msg,'
  • ';
    }
    echo '
';
unset($_SESSION['ERRMSG_ARR']);
}
?>

 
















Login
Password
 



سپس فایلی به نام login-exec.php ساخته و کد زیر رو داخلش قرار میدیم،که توضیحات کد، خط به خط داخل کد آورده شده:

 //قبل از هر چیز سشن رو برای استفاد استارت میکنیم
session_start();
//در  اینجا فایل کانفیگ رو به کدمون برای اتصال به دیتابیس اضافه میکنیم
require_once('config.php');
//خطاهایی که در به خاطر اعتبار سنجی رخ میده رو آرایه میکنه
$errmsg_arr = array();
$errflag = false;
//با این کد به مای اس کیو ال سرور متصل میشیم
$link = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);
if(!$link) {
die('خطا در برقراری ارتباط با سرور: ' . mysql_error());
}
//انتخاب دیتابیس
$db = mysql_select_db(DB_DATABASE);
if(!$db) {
die("سرور قادر به انتخاب دیتابیس نیست");
}
//تابعی برای امن کردن فرم در مورد اس کیو ال انجکشن،که کارکترهای غفیر مجاز رو پاک میکنه
function clean($str) {
$str = @trim($str);
if(get_magic_quotes_gpc()) {
$str = stripslashes($str);
}
return mysql_real_escape_string($str);
}
//مقادیر پست شده رو کنترل میکنه
$login = clean($_POST['login']);
$password = clean($_POST['password']);
//ولیدیشن یا تعیین صحت فرم
if($login == '') {
$errmsg_arr[] = 'نام کاربری اشتباه است';
$errflag = true;
}
if($password == '') {
$errmsg_arr[] = 'گذر واژه اشتباه است';
$errflag = true;
}
//اگه موارد ارسال شده صحیح نباشه به فرم لاگین ریدایرکت میشه
if($errflag) {
$_SESSION['ERRMSG_ARR'] = $errmsg_arr;
session_write_close();
header("location: login-form.php");
exit();
}
//کوئری
$qry="SELECT * FROM members WHERE login='$login' AND passwd='".md5($_POST['password'])."'";
$result=mysql_query($qry);
//بررسی میکنه که آیا کوئری موفق عمل کرده یا نه
if($result) {
if(mysql_num_rows($result) == 1) {
//لاگین با موفقیت اجرا شد
session_regenerate_id();
$member = mysql_fetch_assoc($result);
$_SESSION['SESS_MEMBER_ID'] = $member['member_id'];
$_SESSION['SESS_FIRST_NAME'] = $member['firstname'];
$_SESSION['SESS_LAST_NAME'] = $member['lastname'];
session_write_close();
header("location: member-index.php");
exit();
}else {
//لاگین با خطا مواجه شده
header("location: login-failed.php");
exit();
}
}else {
die("Query failed");
}
?>
فایلی به نام login-failed.php میسازیم و که اگر لاگین با خطا مواجه شد به این فرم هدایت کنه:




Login Failed



Login Failed


 


Login Failed!

Please check your username and password



بعد فایلی به نام member-index.php ساخته که اگر لاگین موفقیت آمیز بود به اون صفحه هدایت بشه و کد زیر رو در آن قرار بدید.

 require_once('auth.php');
?>




Member Index



Welcome


Logout

This is a password protected area only accessible to members.



سپس فایلی با نام auth.php برای مطلع شدن از لاگین کاربر میسازیم.

 session_start();
//چک میکنیم ببینیم که در سشن آیدی کاربر وجود دارد یا نه
if(!isset($_SESSION['SESS_MEMBER_ID']) || (trim($_SESSION['SESS_MEMBER_ID']) == '')) {
header("location: access-denied.php");
exit();
}
?>
سپس فایلی به نام access-denied.php ساخته که اگر کاربر لاگین نکرده بود لود شود.




Access Denied



Access Denied


 


Access Denied!

You do not have access to this resource.



در این مرحله logout.php را ساخته که کاربرانی که لاگین کردن بتونند خارج بشن و جلسه شون پاک بشه.

 session_start();
//متغییرهایی که در سشن ذخیره شدن آنست میشن
unset($_SESSION['SESS_MEMBER_ID']);
unset($_SESSION['SESS_FIRST_NAME']);
unset($_SESSION['SESS_LAST_NAME']);
?>




Logged Out



Logout


 


You have been logged out.


Click here to Login



بعد ساخت همه این فایلها،در یک دایرکتوری از هاستتون قرار داده و این فایل را نیز دانلود کرده و به آنها اضافه کنید،سپس صفحه form-login  رو فراخونی کرده و از این آموزش لذت ببرید. با نام کاربری test و گذرواژه test این آموزش رو تست کنید.
در ادامه نیز آموزش ساخت فرم ثبت نام رو مطالعه کنید که مکمل این آموزش می باشد.

سورس کد PHP-Login

نظرات  (۴۷)

با تشکر از آموزش خوبتون
ببخشید دو سوال داشتم:
1- برای جلوگیری از حملات بازسازی سشن باید چیکار کرد؟
2- من در بعضی سایت ها مطالبی مبنی بر امن نبودن هش ام ذی 5 خوندم، درسته؟ اگر اینطوره باید از چه روشی استفاده کرد؟
برای بخش اول می تونید از این تابع session_regenerate_id استفاده کنید. http://php.net/manual/en/function.session-regenerate-id.php و یه سری نکته های دیگه که می تونید سرچ کنید. به زودی یه پست در مورد امنیت ارسال می شه که سوالهاتون رو پاسخ می ده.
سوال دوم هم درست نیست. MD5 بدون بازگشته و به هیچ وجه قابل بازیابی نیست. مگر اینکه از واژه هایی که توی واژه نامه ها هست استفاده بشه که خوب باز هم دسترسی بهشون همچین راحت نیست. ولی برای اطمینان از اینکه کد کاملن غیر قابل بازگشت باشه معمولن پسورد رو با یه رشته های دیگه ترکیب می کنن و بعد MD5 می کنن. مثلن میان پسورد رو با تایم استمپ ترکیب می کنن و یه رشته ی خاص دیگه که خود برنامه نویس می تونه تو ترکیبش دخالت کنه.
یه چیزی رو فراموش کردین. پس تکلیف آرایه ی خطا چی میشه؟
با عرض معذرت خدمت شما دوست عزیز،من کامنت شما رو تازه دیدم
بله حواسم به آرایه ی خطا در فرم لاگین نبود و باز هم معذرت
می تونید این کد رو بعد از تگ با دی در فرم لاگین اضافه کنید:

 if( isset($_SESSION['ERRMSG_ARR']) && is_array($_SESSION['ERRMSG_ARR']) && count($_SESSION['ERRMSG_ARR']) >0 ) {
echo '
    ';
    foreach($_SESSION['ERRMSG_ARR'] as $msg) {
    echo '
  • ',$msg,'
  • ';
    }
    echo '
';
unset($_SESSION['ERRMSG_ARR']);
}
?>
مقاله ات رو اصلاح کن و بنویس که به روزرسانی شد :)
چشم
مقاله اصلاح و به روز رسانی شد :D
سلام
پست بسیار عالی بود
این فایل هارو ایجاد کردم و در پوشه wwwroot هاست قراردادم و فایل دیتابیس رو هم با نام login.sql در پوشه db قرار دادم. اما وقتی فایل form-login.php رو فراخوانی کردم و یوزرنیم و کلمه عبور رو test وارد کردم، با خطا مواجه شد و نتونست به دیتا بیس وصل بشه
در قسمت کنترل پنل سایت، دیتابیس رو MySQL قراردادم و یه یوزر و پسوورد هم گذاشتم و این اطلاعات رو در فایل config.php درج کردم و بجای localhost هم آدرس سایت رو قراردادم. اما بازهم نشد
لطفا بفرمائید چه موارد دیگری رو باید انجام بدم
سوالی هم در مورد دیتا بیس دارم
اینکه در قسمت بالا ساختار دیتا بیس رو با نرم افزار خاصی ایجاد می کنید؟ منظورم این هست که در مورد aspx از SQL Server استفاده می شه که نرم افزار سنگینی هست و لی آیا MySQL هم وجود خارجی داره و کاربردی هست یا فقط بمنظور اجرای فایل ها نصب میشه؟
وقتی شخصی از فرم register که نوشتید یک اکانت ثبت میکنه، اطلاعاتش در همین فایل دیتابیس پائین اون test که ایجاد کردید، اضافه میشه؟
با تشکر
لطفا اگر ممکنه مقاله ای هم برای مدیریت محتوا قرار بدید
اینکه کاربر از این طریق عضو میشه و فعالیت هایی براش در نظر گرفته میشه و مثلا می خواد در سایت پست بذاره و یا به موضوعات دیگران پاسخ بده. چیزی مانند فروم
برنامه نویسی این بخش ها به چه صورت هست؟
با تشکر
سلام دوست عزیز
به علت تاخیر در جواب کامنتتون معذرت میخوام
خب شما مشکل اساسی در ایجاد پایگاه داده دارین،شما باید ابتدا نرم افزاری برای ایجاد پایگاه داده نصب کنید یا از طریق ترمینال و دستورات این کار رو انجام بدید.
برای مثال،شما با نصب نرم افزاری مثل wamp هم سرور مای اسکیوال نصب میکنید هم یوزر اینترفیسی برای کار کردن باهاش،که بتونید دتیابیس و جداول و همه کاراهای مربوط به بانک اطلاعاتی تون رو به صورت ویژوال انجام بدید.
پس اگه با ویندوز کار میکنید نرم افزاری مثل wamp یا xamp رو نصب کنید،سپس phpmyadmin رو فراخوانی کنید و دیتابیس مورد نظرتون رو اونجا ایجاد کنید
احتمالا شما از وب سرور asp برای php استفاده میکنید که جواب نمیده،برای فایلهای php از وب سرور خودش نظیره آپاچی استفاده کنید
باز اگه سوالی بود در خدمتم
سعی میکنیم مطالبی مبتدی در همین مورد براتون جور کنیم
با سلام
تشکر میکنم ا زمطالب مفیدی که میگذارید
من کارهایی که در بالا بیان شد انجام دادم ولی بعد باز شدن صفحه لاگین این خطا ظاهر میشه
Warning: Cannot modify header information - headers already sent by (output started at c:program fileseasyphp1-8wwwloginconfig.php:12) in c:program fileseasyphp1-8wwwloginlogin-exec.php on line 101
خطای فوق درصورتیکه یوزر و پسورد وارد نشده باشه ظاهر میشه و درصورتیکه یوزر و پسورد وارد کنیم این خطا ظاهر میشه
Warning: session_regenerate_id(): Cannot send session cookie - headers already sent by (output started at c:program fileseasyphp1-8wwwloginconfig.php:12) in c:program fileseasyphp1-8wwwloginlogin-exec.php on line 125
Warning: Cannot modify header information - headers already sent by (output started at c:program fileseasyphp1-8wwwloginconfig.php:12) in c:program fileseasyphp1-8wwwloginlogin-exec.php on line 137
لطفا راهنمایی کنید که کجای کار م اشکال داره
ممون
در این نمونه که شما قرار دادید که پایگاه داده تشکیل شده و من فقط با نام login.sql سیو کردم
IIS رو از روی سیستم حذف کردم و از EasyPHP استفاده می کنم
این کدها و فایل هارو هم روی سرور هاست اصلی تست کردم با تنظیماتی که در توضیحات اشاره کردم
MySQL رو بصورت نرم افزار مشاهده نکردم بلکه بصورت یک صفحخه وب اجرا میشه که تنظیماتی داره. نمی دونم درست هست یا نه
با تشکر
برای این کار نیاز به پیش نیاز هایی هست که خوب لازمه مثل auth یا acl
برای همین نیاز به یه آموزش کامل و مرحله به مرحله داره
برای این کار برنامه ریزی شده ولی متاسفانه زمان کافی در دست نیست
مطمئن باشید در تعطیلات عید دستی به سر و گوش این بخش هم خواهیم کشید
با تشکر از توجه تون
سلام دوست عزیز
این خطا یکی از متداولترین خطاهایی هست که در شروع کار با پی اچ پی به وجود میاد.
می تونید از لینک های زیر برای حل این مشکلتون استفاده کنید:
http://www.tech-recipes.com/rx/1489/solve-php-error-cannot-modify-header-information-headers-already-sent/
http://www.geeklog.net/faqman/index.php?op=view&t=38
http://www.daniweb.com/forums/thread88479.html
البته توصیه میشه از نرم افزاری مثل wamp یا xamp برای ویندوز استفاده بشه و در درایوی غیر از c نصب بشه،درایوی که ویندوز در اون نصبه،نصب نکنید
تایع هدرتون header() رو پیدا کنید،مشکل شما مطمئنا در اون خط یا قبل از اونه.
قبل از session_start یه کاراکتری داره به خروجی ارسال می شه
شما اول از هر چیز باید سشن رو استارت کنید
آیا این موارد رو میشه با ووردپرس ایجاد کرد؟ یا نیاز به برنامه نویسی و فراگیری این پیش نیازها هست؟
فایل هایی که در دو بخش "ایجاد فرم لاگین و رجیستر" مطرح کردید رو ایجاد کردم ولی وقتی تست کردم نشد
از WampServer هم استفاده میکنم
این کدها رو در یک فایل زیپ قرار دادم که اگر ممکنه لطف کنید و یه بررسی بفرمائید
http://blogfr.persiangig.com/RegisterLogin.zip
با تشکر
من مشکلی در فایل های شما ندیدم،با این حال سورس برنامه رو برا دانلود گذاشتم
موفق باشید.
۲۵ اسفند ۸۹ ، ۲۰:۲۳ امیر غلامی
سلام دوست عزیز !
مشکل شما اینه که فایل login-exec.php یا فایل های دیگه تون به صورت Unicode(UTF-8) ذخیره شده ! Session کلا با یونیکود مورد داره .
برای اینکه مشکلت حل بشه از برنامه Notepad استفاده کنید و فایل رو داخل برنامه باز کن و از منوی Encoding گزینه Encode to ansi را انتخاب کن و فایلت رو دوباره سیو کن و روی لوکال هاست دوباره اجراش کن.
برنامه notepad :
http://dl.downloadha.com/Kave/2/Notepad _5.8.3 (www.Downloadha.com).zip
پسورد فایل: www.downloadha.com
سلام دوستان
از سورس PHP-Login که قرار دادید، فایل mysql.sql رو که در phpMyAdmin از قسمت import وارد می کنم با این خطا مواجه میشه:
http://up.iranblog.com/images/88zbb8bj7a6uoi65g7.jpg
لطفا راهنمایی بفرمائید
با تشکر
اول دیتابیس رو انتخاب کنید و بعد فایل رو ایمپورت کنید
سلام دوستان
کدی که در قسمت "آموزش ساخت ایمیل فعال سازی" توضیح دادید رو چطور میتونم به قسمت "سورس کد PHP-Login" اضافه کنم؟
من خیلی مسلط نیستم ولی هر کاری کردم درست جواب نداد...
ممکنه شما لطف کنید این نمونه رو کامل کنید؟
با تشکر از توسعه دهندگان PHP
با عرض سلام خدمت شما اسکریپت عالی بو و لی چطوری میتونم کاربر جدید تعریف کنم لطفا راهنماییم کنید خیلی ضروریه چطوری باید کاربر جدید تعریف کرد .
سلام دوست عزیز
شما باید بخش دوم و مکمل این بخش یعنی رجیستر کاربر رو هم به کارتون اضافه کنید.
موفق باشد/
۱۳ مرداد ۹۰ ، ۲۳:۳۷ حسین حیدری
با سلام
استاد عزیز من می خواستم اسکریپتی بسازم که کاربرها پس از لاگین کردن اطلاعات خودشونو ببینند و بتوانند ویرایش یا حذف کنند البته با استفاده از دیتابیس ممنون میشم اگه کمکم کنی. با تشکر
سلام . اگر ممکن است بنده را راهنمایی کنید . اگر در سایتی بخشهای مختلفی مانند اخبار ، مقالات ، فروشگاه و ... باشد در هر قسمت باید کدهای زیر را وارد کرد تا از جلسه خارج نشود و یا راه دیگری هست؟
ممنون
سلام . اگر ممکن است بنده را راهنمایی کنید . اگر در سایتی بخشهای مختلفی مانند اخبار ، مقالات ، فروشگاه و … باشد در هر قسمت باید کدهای زیر را وارد کرد تا از جلسه خارج نشود و یا راه دیگری هست؟
ممنون
سلام . اگر ممکن است بنده را راهنمایی کنید . اگر در سایتی بخشهای مختلفی مانند اخبار ، مقالات ، فروشگاه و … باشد در هر قسمت باید کدهای زیر را وارد کرد تا از جلسه خارج نشود و یا راه دیگری هست؟
http://up1.iranblog.com/images/44q.jpg
ممنون
سلام دوست عزیز
این کدی که شما گذاشتین فقط آیتمی از سشن رو چاپ میکنه
ببخشید من هرکاری کردم نتواستم صفحه ی لاگین درست کنم میتوانید رانمایی کنید مرا
!
سلام خدمت پی اچ پی کاران عزیز
ببخشید تو برنامه login-exec.php خط 58 چرا اپسورد رو دوباره با post فراخوانی کردین. پس فایده انجام پردازش های تابع clean و ساخت متغیر جدید password$ چی بوده؟
با سلام
ممنون از مقالات خوبتون
اگر درست فهمیده باشم : اطلاعات کاربرهای معمولی سایت داخل یک جدول می باشد و بعد از کانکت اولیه به mysql اعتبار آنها چک می شود
حال من یک نگرانی در مورد اتصال از طریق PHP با سرور دارم، منظورم همون کانکت اولیه با root (یا هر کاربرmysql) به mysql می باشد که به صورت متنی است.
آیا می تواند یک مشکل امنیتی ایجاد کند؟ حال از طرف هکر ها یا از طرف مدیر یا صاحب "هاست"، فرضا فایل حاوی کاربر mysql را باز کرده کاربر و کلمه عبور را بخوانند سپس با لاگین کردن به mysql، جداول را باز کرده لیست ایمیلها رو بردارند.
shakib1390@gmail.com
ضمن عرض سلام و خسته نباشید به شما...
میشه جواب منو به ایمیلم بفرستید؟
سوال؟من اگه بخوام پی اچ پی رو در حد حرفه ای یاد بگیرم باید چیکار کنم؟جایی هست بشه رفت کنار یه سری حرفه ای نشست یاد گرفت؟پی اچ پی رو بلدم ولی این چیزایی که اینجا از شما دیدم فهمیدم در حد صفرم.خواهش می کنم راهنماییم کنین.
با سلام
ممکنه بنده را راهنمایی کنید چرا دائما برای برنامه ام پیغام (سرور قادر به انتخاب دیتابیس نیست) یا (خطا در برقراری ارتباط با سرور) می دهد .ایراد از چیه
خیلی ممنونم که راهنماییم کردید
مشکل ممکن چندین دلل داشته باشد
شما ابتدا از نصب کامل سرور دیتابیستون مطمئن بشید
بعد، از درست بودن نام کاربری و پسوردتون مطمئن بشید
با اگه مشکل داشتین خطا رو به صورت کامل برامون ارسال کنید تا بشه بهتر کمک کرد
ــــــــــــــــــــــــــــــــ
در ضمن بنده و دوستان مشکلات خاص خودمون رو داریم بعضی وقتا میشه چندین ماه هم نمیتونیم به سایت سر بزنیم
در کل شرمنده اگه دیر شد
تشکر از راهنمایتون
مشکل برنامه ام همانطور که شما فرمودید عدم اتصال فرم login به دیتابیس بود
سلام من بعد از اجرا به این مشکل برمیخورم . میشه بگی چی کنم؟
Notice: Undefined index: ERRMSG_ARR in D:xampphtdocsshabPHP-Loginlogin-form.php on line 26
in araye ro ye dusti balatar goft tarif kon ke shoma kardi ama baz in error has chera?
عالی
سلام
چه جوری در منو تعریف کنم که بزنه login یا logout
خیلی سخت نیست
یه if می زاری که اگه سشن ست شده باشه بنویسه لاگین و اگه ست نشده باشه بنویسه لاگ اوت.
عالی بود مرسی ایشالا هر زو یک خبرنامه جدید از شما و یک آموزش جدید از شما
مشکل خطا با @ حل می شود
ببخشید نمی دونم تابع php را چطوری وارد کنم
اول خط سیشن ارور یک @ اضافه کنید
مثلا@$_SESSION['ERRMSG_ARR'] را
سلام ٰمخلص برو بچهای زنجانی.آقا من نمیدونم error زیر رو حل کنم:
Notice: Undefined index: cnt in C:\wamp\www\khojasteh\index1.php on line 3 ممنون
ہیلو
میں خریداری کے لئے ایک ڈیٹا بیس کی ضرورت ہے
ویب سائٹ shonping RU
ڈیٹا بیس سے تمام میں چاہتا ہوں کہ صرف
ای میل ٹیبل: صرف پاس ورڈ ٹیبل پر مشتمل
اگر آپ دلچسپی رکھتے ہیں، براہ مہربانی مندرجہ ذیل شامل
ای میل: ronitarronitar@gmail.com ronitarronitar yahoo.com @
یا
اسکائپ: ronitarronitar
1 نوٹ: LR بمقابلہ مطلوبہ ڈیٹا بیس خریداری سائٹ $ 10
مجھے امید ہے کہ آپ کو لکھنے
شکریہ
سلام عزیز من یکم مشکل دارم نمیتونم اینجا بیان کنم میشه بهم میل بزنید

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی