منو اصلی

درگاه ورود کاربران
لینک سایت های مفید
تقویم
<    «  ارديبهشت 1391  »    >
شيدسچپج
 1
2345678
9101112131415
16171819202122
23242526272829
3031 
آرشیو
امار سایت
آمار مطالب:
  يک ساعت پيش: 0
  امروز: 0
  اين ماه: 7
  مجموع مطالب: 398
  کل نظرات: 309



آمار بازديد:
  بازديد امروز: 4181
  بازديد ديروز: 3512
  مجموع بازديدها: 2495691



آمار کاربران:
  يک ساعت پيش: 0
  امروز: 9
  اين ماه: 347
  مجموع کابران: 7265
  بن شدگان: 2

آخرين عضو:


javad_gh1370

 


کاربران آنلاین:

رباطها آنلاین: Crawl Bot, Google Bot

در حال حاضر 0 کاربر, 2 رباط, 2 میهمان و در مجموع 4 نفر در سایت حضور دارند.
همکاران سایت

--------------------
نظرسنجی

دوست دارید نرم افزار رو روی چه سیستم عاملی اجرا کنید ؟

Xp
Vista
Seven
Apple
Windows android
تازه های سایت
بخش های پربازدید
اطلاعات سایت
حمایت  فارسی دی بی

 

http://www.farsidb.com/farsidb.gif

برای حمایت از فارسی دی بی کد بالا را در سایت و یا وبلاگ خود قرار دهید با تشکر

رتبه و اطلاعات سایت   

   http://www.farsidb.com/alex.jpg

 

آموزش طراحي سيستم ثبت نام و ورود



اين آموزش را بخاطر دوستان که پيام دادند و آموزشي در اين رابطه خواستند شروع کردم به نوشتن،
اين آموزش بصورت گام به گام است و گام به گام موارد پيچيده تر اضافه مي شود و حتي فيلدها و جداول مربوطه تغيير خواهد کرد بنابراين از دوستان خواهشمندم قبل از اينکه پست بدهند به من پيام بدهند تا تغييرات را با نام خودشان وارد نمايم.

گام اول:

براي شروع نيازهاي خودمان را مي نويسيم:

فيلدهايي که در ديتابيس نيازمنديم:
1- شناسه کاربر (عددي)
2- نام کاربري (کاراکتر و عدد)
3- ايميل
4- رمزعبور
5- زمان ساخت اکانت
6- وضعيت کاربر

خوب حالا کد SQL آن را مي نويسيم.


CREATE DATABASE dbname;
CREATE TABLE `users` (
user_id INT( 10 ) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,
username VARCHAR( 25 ) NOT NULL ,
password CHAR( 32 ) NOT NULL ,
email VARCHAR( 60 ) NOT NULL ,
creation_date INT( 11 ) UNSIGNED NOT NULL ,
status INT( 1 ) UNSIGNED NOT NULL ,
INDEX ( username , password) ,
UNIQUE (email)
);

فقط dbname را با نام دلخواه خود براي ديتبايس تغيير دهيد.
خوب الان ممکن است تک تک خط هاي بالا براي شما سوال شود، در آخر هر گام سوالات را جواب مي دهم.
حالا نوبت به وارد کردن record ها مي آيد فعلاً من به يک رکورد ساده بسنده مي کنم.

1

INSERT INTO users (user_id,username,password,email,cdate,status) VALUES ('test',md5('test'),'test@localhost','1323455986') ;


تا اينجا ما اولين گام را برداشتيم حالا مي رسيم به بخش سوالات متداول اين بخش را براي پاسخگويي به سوالات دوستان گذاشتم لطفاً بجاي پست کردن به من پيام دهيد من سوال شما را در پست ها جواب خواهم داد.

سوالات متداول:
1- چرا در رمز عبور از CHAR استفاده کرديد اما براي نام کاربري VARCHAR؟
در حقيقت CHAR و VARCHAR تفاوت ناچيزي دارند اما خيلي مهم است به زماني فکر کنيم که ديتابيس خيلي بزرگي داريم و مي خواهيم هر چه آن را بهينه تر کنيم.
تفاوت CHAR و VARCHAR:
در ارزش اشغال مموري:
Char = طول رشته
VARCHAR = طول رشته + 1 بايت
خوب طبق ضرب المثل معروف قطره قطره جمع گردد وانگهي دريا شود ما هم در آن يک بايت صرفه جويي کرديم که در پروژه بزرگ مقدارش زياد نشود.

2- چرا طول password را 32 انتخاب کرديد؟
چون من مي خواهم در آينده از روش کدگذاري md5 استفاده کنم که هر رشته متني را به يک رشته 32 کاراکتري تبديل مي کند.

3- وظيفه INDEX چيست؟
اين تابع به MYSQL مي فهماند که بعداً ما مي خواهيم بيشترين جستجو و انتخاب رکوردها را بر اساس اين فيلدها انجام دهيد در نتيجه جستجويي سريعتر خواهيم داشت.

4- وظيفه UNIQUE چيست؟
اين تابع به MYSQL مي فهماند که ما فقط يک ايميل يکتا خواهيم داشت و اجازه ثبت يک ايميل مشابه در در چند رکورد مختلف را ندهد. و اين کاملاً سليقه ايي است.

با آرزوي موفقيت.

بازدیدها: 424

http://www.farsidb.com/forum.gif


اطلاعات
 
براي ارسال نظر، بايد در سايت عضو شويد.

 
 

پشتیبانی شده توسط سرور باران