توانایی خود را افزایش دهیم

فرهنگ و هنر
توانایی خود را افزایش دهیم

بسم الله الرحمن الرحیم

با سلام

• لطفا مطالب سایت را به صورت منظم پیگیری کنید
• ارائه پیشنهادات و نظرات شما باعث بهبود کیفیت ارائه مطالب خواهد شد

بعضی از مطالب آموزشی سایت توسط اینجانب نوشته نشده و صرفا جهت مطالعه دوستان از منابع دیگری جمع آوری شده است
چنانچه در مطالب موضوعی ملاحظه شد که از نظر علمی ، اعتقادی ، سیاسی ، مذهبی و ... دارای مشکل بود حتما در قسمت نظرات ذکر بفرمایید تا اصلاح گردد.
با تشکر
موفق باشید

طبقه بندی موضوعی
آخرین نظرات

۱۴ مطلب در شهریور ۱۳۹۳ ثبت شده است

پنجشنبه, ۲۷ شهریور ۱۳۹۳، ۰۳:۴۶ ب.ظ

درس یازدهم- امنیت تارنما از نگاه پی‌اچ‌پی

مقدمه
تا به این درس تکنیک‌های زیادی از پی‌اچ‌پی یاد گرفتیم که براحتی توسط آنها می‌توانیم یک تارنما با قابلیت پذیرش کاربر بنا کنیم. یکی از نکات مهمی که بحثی از آن در طول دوره نشده است٬ امنیت سیستم ساخته شده است. در این درس به توانمندی سیستم از نظر امنیتی می‌پردازیم٬ چرا که هر چقدر سیستم شما خوب کار کند٬ اگر امنیت لازم را فراهم نکرده باشید٬ براحتی قابل شکستن خواهد بود.

نکته بسیار مهم: در این دوره آموزشی٬ ما بحث امنیت را به عنوان یک یا چند درس بطور مجزا شرح می‌دهیم و تا قبل از این درس‌ها برای ساده‌تر کردن آموزش، نکته‌های امنیتی را برای درس‌های آخر گذاشتیم. حال ما بر آنیم که بحث امنیت را آغاز کنیم و به سراغ کد‌هایمان می‌رویم تا از نظر امنیتی آنها را مسلح کنیم. برای شما در زمان ساخت یک تارنما٬ به این شکل عمل کردن یک اشتباه محض است٬ یعنی نباید ابتدا تارنما را ساخته و بعد به فکر امن کردن آن باشید. کار امنیت برای تارنما باید از همان ابتدا در ذهن و کدهای شما بیاید. یعنی با توسعه هر قسمت٬ هم زمان آن بخش را هم از نظر امنیتی تجهیز کنید.

 

امنیت تارنما
برای شرح هر چه بیشتر این درس ما بحث امنیت را به بخش‌های مجزا تقسیم می‌کنیم و بعد بر اساس هر بخش نکات امنیتی آن را بررسی می‌کنیم.

غیر فعال کردن  phpinfo()
همانطور که می‌دانید این تابع مشخصات کاملی از پی‌اچ‌پی نصب شده در سرور را به ما می‌دهد که در زمان توسعه بسیار مفید است٬ اما بعد از کامل کردن سیستم باید این تابع از کار بیافتد. البته اگر شما سرور خود را داشته باشید و یا در حالت «محلی» تارنمای خود را توسعه داده‌اید٬ شما توانایی از کار انداختن این تابع را دارید. در غیر اینصورت با مدیر سرور تماس بگیرید. به احتمال زیاد این تابع قبلا از کار افتاده اما کار از محکم کاری عیب نمی‌کند. این تابع در فایل php.ini  قرار دارد٬ پس در صورت دسترس به این فایل رفته و با جستجوی عبارت disable_functions  با کمکctrl + F  مقدار روبروی این عبارت را با نام تابع پر کنید.

disable_functions = phpinfo

۰ نظر موافقین ۰ مخالفین ۰ ۲۷ شهریور ۹۳ ، ۱۵:۴۶
چهارشنبه, ۲۶ شهریور ۱۳۹۳، ۰۴:۱۹ ب.ظ

درس دهم- نمایش فایل و استفاده از جاوا اسکریپت

مقدمه
در درس قبلی یاد گرفتیم که چطور فایل (عکس) را به سیستم خود انتقال دهیم. در این درس می‌خواهیم از این عکس‌ها برای نمایش در تارنما استفاده کنیم و این نمایش را در قالب یک برگه جدید بنام نمایه (پروفایل) تجربه می‌کنیم. در ادامه به ساختن برگه‌ای دیگر می‌پردازیم که فهرستی از عکس‌های ارسال شده٬ بشکل آلبومی ساده ارائه می‌کند.

 

نمایه  profile.php
در پوشه خود فایلی با نام profile.php بسازید و کد‌های زیر را در آن قرار دهید:

<?php

session_start();

if(isset($_SESSION['first_name']))

{               $name = $_SESSION['first_name'];

                 $page_title = ' نمایه ' . $name;

}else{

$page_title = ' نمایه ' ;

}

include ('includes/header.html');

?>

<?php

if(isset($_POST['id']) && is_numeric($_POST['id'])){

                $id = $_POST['id'];

}

elseif(isset($_GET['id']) && is_numeric($_GET['id']))

{

                $id = $_GET['id'];

}else{

                echo 'دسترسی به این برگه برای شما مقدور نیست!';

                //header('LOCATION: index.php');

                header('REFRESH: 3; URL= index.php');

}

require_once('db_connection.php');

$query = "SELECT * FROM users WHERE id='$id'";

$result = mysqli_query($dbc, $query);

if(mysqli_num_rows($result) == 1)

{

$row = mysqli_fetch_array($result, MYSQLI_ASSOC) ;

?>

<div id="profile">

<div id="image">

<?php

if($row['image']){

                echo '<img src="uploads/'. $row['image'] . '" width="180" height="180"/>';

}?>

</div>

<div id="user-info">

<ul>

<li><span>نام  </span><h3><?php echo $row['first_name']; ?></h3></li>

<li><span>نام خانوادگی   </span><h3><?php echo $row['last_name']; ?></h3></li>

<li><span> شناسه کاربری   </span><h3><?php echo $row['username']; ?></h3></li>

<li><span> رایانامه  </span><h3><?php echo $row['email']; ?></h3></li>

</ul>

</div>

</div>

<?php}?>

<?php include ('includes/footer.html'); ?>

همانطور که مشاهده می‌کنید٬ این برگه را با تابعsession_start()  آغاز کردیم٬ چرا که می‌خواهیم از مقادیر داخل سشن استفاده کنیم. از آنجا که این برگه برای هر کاربر داده‌های مربوط به آن کاربر را نمایش می‌دهد٬ می‌خواهیم نام برگه را هم در صورت وجود به نام کاربر در کنار عبارت «نمایه» اضافه کنیم.

۰ نظر موافقین ۰ مخالفین ۰ ۲۶ شهریور ۹۳ ، ۱۶:۱۹
شنبه, ۲۲ شهریور ۱۳۹۳، ۰۲:۴۲ ب.ظ

درس نهم- ارسال فایل (عکس)

مقدمه
در دو درس قبل با چگونگی شناسایی کاربران ثبت نام کرده در سیستم آشنا شدیم. در این درس می‌خواهیم با معرفی تکنیک تازه ای –ارسال عکس به سیستم- به کاربر اجازه ارسال تصویر خود به سیستم را بدهیم.

 

ارسال فایل
همانند دیگر داده‌های ارسالی به سیستم ابتدا باید یک کادر برای ارسال فایل ایجاد کرد٬ اما نوع برخورد پی‌اچ‌پی با کادر ارسال فایل کمی با دیگر کادر‌ها متفاوت است. رند کلی ارسال فایل به این ترتیب است که ابتدا فایل ارسالی به یک پوشه موقتی فرستاده می‌شود و بعد از آنجا به پوشه دیگری انتقال می‌یابد.

کادر ارسال فایل

<input type="file"   name="upload” />

برای ساختن کادر فایل مانند دیگر کادرها عمل می‌کنیم٬ با این تفاوت که در داخل صفت در خواست کننه نوع فایل از کلمه "file"  استفاده می‌کنیم.

نکته: برای داشتن قابلیت ارسال فایل٬ باید یک تغییر کوچک هم در برچسب فورم بدهیم و آن اضافه کردن یک صفت تازه است. به برچسب فرم زیر دقت فرمایید:

<form  enctype="multipart/form-data"  action="upload_image.php"  method="post" >

همانطور که مشاهده می‌کنید٬ صفت enctype="multipart/form-data" به صفت‌های فرم اضافه شده است. این صفت به فرم قابلیت پذیرش فایل را اضافه می‌کند.

رفتار کادر ارسال فایل
در زمان ارسال فایل بر خلاف ارسال دیگر داده‌ها که مقدار داده را در متغییر آرایه‌ای $_POST قرار می‌دادند٬ کادر فایل مقدار را در متغییر آرایه‌ای $_FILES همراه صفت‌هایی پیش فرض قرار می‌دهد. "$_FILES[][]" یک آرایه دو بعدی است و در زمان ساخت آن ویژگی‌های متعددی از فایل مورد نظر را در خود حفظ می‌کند. بطور مثال ویژگی‌های: نوع فایل٬ نام موقتی فایل٬ اندازه فایل و نام اصلی فایل را در خورد نگهداری می‌کند که ما می‌توانیم با صفت‌هایی به همه آنها دسترسی داشته باشیم. نگهداری این مقادیر به شیوه زیر است:

$_FILES [‘نام کادر ارسال فایل’] [‘نام ویژگی’]

برای استفاده از قابلیت ارسال فایل پی‌اچ‌پی٬ باید یکسری مقدمات فراهم باشد:
۱. تنظیمات ابتدایی پی‌اچ‌پی (این تنظیمات توسط مدیر سرور انجام می‌شود٬ تنظیماتی مانند: فعال کردن ارسال فایل٬ محل موقتی نگهداری فایل‌ها٬ مشخص کردن میزان حجم فایل‌های ارسالی) در فایل php.ini. در صورت ساخت تارنما در حالت «محلی» شما به این فایل دسترسی دارید.

۲. وجود محل موقتی برای نگهداری فایل‌ها و تعیین سطح دسترسی به آن

۳. وجود محل پایانی و همیشگی برای نگهداری و تعیین سطح دسترسی به فایل‌ها

همانطور که قبلا هم گفته شده شما با استفاده از تابعphpinfo()  می‌توانید جزییات این تنظیمات را مشاهده کنید. بطور مثال تنظیمات باید چیزی مانند زیر باشند:

File_uplaods: on

upload_max_filesize: 2(پیش فرض)

post_max_size:

upload_tmp_dir:

البته در حالت نصب پی‌اچ‌پی با بستهWamp  یا  Xammpبه نظر این مقادیر به طور پیش فرض تنظیم هستند. در حالت روی خط هم می‌توانید در صورت عدم دسترسی به فایل php.ini از مدیر سرور٬ سرویس دهنده میزبانی کمک بخواهید.

حال برای آشنایی بیشتر با طرز کار این قسمت به ساخت برگه برای ارسال فایل اقدام می‌کنیم.

ابتدا قبل از هر کاری باید یک خانه به خانه‌های پایگاه داده‌ها و در داخل جدول کاربران اضافه کنیم. این خانه٬ نگهداری کننده نام فایل ارسالی هر کاربر برای او است.

۱ نظر موافقین ۰ مخالفین ۰ ۲۲ شهریور ۹۳ ، ۱۴:۴۲
چهارشنبه, ۱۹ شهریور ۱۳۹۳، ۰۶:۰۰ ب.ظ

درس هشتم- سشن (Session) و سرایند اچ‌تی‌تی‌پی HTTP Header

مقدمه
در درس قبل به فن استفاده از کوکی پرداختیم و یاد گرفتیم که چطور از کوکی‌ها برای ردیابی و شناسایی کاربران در تارنمایمان بهره بریم٬ اینکه چطور داده‌های مربوط به مشخصات کاربر را در همه برگه‌ها در دسترس داشته باشیم و با توجه به آن داده‌ها سرویس مشخصی را ارایه کنیم. در این درس در دنباله بحث ردیابی کاربران به معرفی تکنیک دیگری در این زمینه با نام «سشن» می پردازیم.

 

سشن
سشن نوع دیگری از ابزار در بکار گرفتن داده‌های کاربر در همه برگه‌ها (در کل تارنما) به منظور ردیابی آنها است. سشن‌ها داده‌ها را در سرور ذخیره می‌کنند و بعد یک شناساینده سشن٬ به شکل کوکی در رایانه کاربر ثبت می‌کنند. این کوکی که به نام شناساینده «سشن» مربوطه در رایانه کاربر ذخیره می‌شود٬ در اصل راهنمای یافتن محل سشن در سرور می‌شود. بعد از ثبت داده‌ها٬ می‌توان از آنها بصورت متغییر‌های سشن بهره برد٬ که این متغییر‌ها را تمام برگه‌ها قابل دسترسی هستند.

 

سشن یا کوکی
همانطور که در درس قبل گفتیم کوکی‌ها داده‌های مربوط به کاربر را در خود رایانه کاربر ثبت می‌کنند و در زمان نیاز به آنها مراجعه می‌کنند٬ در صورتی که سشن‌ها این داده‌ها را در سرور سرویس دهنده ثبت می‌کنند٬ و یک کوکی هم به عنوان مکان یاب در رایانه کاربر. اما دلایل استفاده از سشن‌ها را می‌توان در سه بخش به شرح زیر آورد:

۱. امنیت سشن‌ها به دلیل ثبت‌ آنها در سرور بالاتر است٬ زیرا سشن‌ها در مسیر کاربر و سرور در حال تردد نیستند و این احتمال دزدیده شدن آنها را کمتر می‌کند.

۲. سشن‌ها توانایی حمل داده‌های بیشتری را دارند.

۳. از آنجا که بعضی از کاربران ثبت کوکی‌ها در رایانه‌هایشان را مسدود می‌کنند٬ سشن‌ها بدون مشکل در این شرایط کار می‌کنند.

نکته: سشن‌ها بدون استفاده از کوکی راهنما هم قابل استفاده هستند.

 

استفاده از سشن با تابع session_start()
یک نکته ابتدایی و بسیار مهم در استفاده کردن از سشن‌ها٬ قرار دادن تابعsession_start()  در ابتدایی‌ترین (بالاترین) محل برگه‌ای است که می‌خواهد از سشن استفاده کنید. این تابع  پی‌اچ‌پی می‌گوید که از سشن از قبل درست شده استفاده کند و یا اینکه یک سشن تازه بسازد. فراموش نکنید که این تابع بخاطر خواندن کوکی راهنما باید قبل از هر چیز دیگر فراخوانی شود٬ یعنی قبل از این تابع هیچ داده‌ای به مرورگر فرستاده نشود. منظور از فرستاده نشدن داده به مرورگر در اصل داده‌ای است که برای مرورگر فرستاده‌ می‌شود تا چاپ و یا ... شود. پس محل این تابع باید قبل از سرایند فایل اچ‌تی‌‌ام‌ال شما باشد.

وقتی این تابع برای نخستین بار اجرا می‌شود٬ یک کوکی با نام پیش فرض PHPSESSID می‌فرستد. بعد از اینکه سشن آغاز شد می‌توان مقادیر را به متغییر‌های آنها سپرد البته به روش زیر:

$_SESSION ['key'] = value;

$_SESSION ['name'] = 'پیمان';

$_SESSION ['id'] = 3;

در اینجا برای بکاربردن و روشن‌تر کردن این بحث٬ به سراغ تارنمای از پیش ساخته خود رفته و به جای کوکی‌ها از سشن‌ها استفاده می‌کنیم٬ یعنی جای کوکی‌ها را با سشن‌ها تعویض می‌کنیم.

https://www.darsnameh.com/images/phpin/07/1.png

۰ نظر موافقین ۰ مخالفین ۰ ۱۹ شهریور ۹۳ ، ۱۸:۰۰
سه شنبه, ۱۸ شهریور ۱۳۹۳، ۰۶:۳۲ ب.ظ

درس دهم- تغییر در عرضه و تقاضا

گفتیم که یک اتفاق می تواند باعث شود که شرایط تعادل تغییر کند. در ادامه و آخرین درس این دوره، سه وضعیت را بررسی می کنیم.

 

تغییر در تقاضا
فرض کنید درباره بازار بستنی صحبت می کنیم. یک تابستان هوا بسیار داغ است. می خواهیم ببینیم چه تغییری در تعادل بازار ایجاد می شود. 

در گام اول باید ببینیم گرمای هوا چه تاثیری بر روی منحتی تقاضا یا عرضه می گذارد. گرم تر شدن هوا باعث می شود که منحنی تقاضا تغییر کند. منحنی عرضه اما تغییر نمی کند چرا که گرم شدن هوا مستقیما بر فروشندگان اثری نمی گذارد.

در گام دوم باید تنوع تغییر را بررسی کنیم. افزایش دما موجب افزایش تقاضا می شود، در نتیجه منحنی به سمت راست جابه جا می شود. منحنی تقاضا از D1 به D2  تغییر می کند. چنان که در شکل مشاهده می کنید جابه جایی به سمت راست به معنی آن است که در یک قیمت ثابت میزان تقاضا افزایش می یابد.

در گام سوم باید نمودارها را رسم کرده و اثر تغییرات حاصله را بر قیمت تعادل و کمیت تعادل بررسی کنیم. نمودار رسم شده نشان می دهد که افزایش تقاضا قیمت را از ۲ به ۲.۵ و کمیت تعادل را از ۷ به ۱۰ افزایش می دهد. بنابراین ما شاهد یک تعادل جدید در نقطه ای در سمت راست و بالاتر از تعادل قبلی هستیم.

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

حالا فرض کنید ما با تابستانی سرد مواجه می شدیم یا اینکه به خاطر ورود یک نوشابه جدید به بازار مردم ترجیح می دهند نوشابه بیشتر مصرف کنند. چه اتفاقی می افتد؟

در گام اول ما تشخیص می دهیم که این اتفاق بر تقاضا اثر می گذارد. تقاضا کاهش می یابد و منحنی تقاضا به سمت چپ جابه جا می شود. در نتیجه تعادل جدیدی در سمت چپ و پایین تعادل اولیه برقرار می شود.

 

۰ نظر موافقین ۱ مخالفین ۰ ۱۸ شهریور ۹۳ ، ۱۸:۳۲
دوشنبه, ۱۷ شهریور ۱۳۹۳، ۰۸:۰۷ ب.ظ

درس نهم- مفاهیم اصلی و اصول ابتدایی حسابداری

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

 

مفروضات حسابداری
پایه اصول حسابداری مفروضات هستند و مبنای تهیه صورت‌های مالی را در موسسات اقتصادی تشکیل می‌دهند. حسابداری دارای ۵ فرض است که در اینجا به طور کوتاه همه آن‌ها را بررسی می‌کنیم.

۱. فرض تفکیک شخصیت
بر اساس این اصل هر موسسه دارای شخصیتی مستقل از مالک یا مالکان آن دارد و فعالیت‌های مالی آن به اعتبار شخصیت مستقل آن تجزیه و تحلیل می‌شود.

به طور مثال اگر شخصی دارای چند کسب و کار باشد، برای هر یک از این واحد‌ها سیستم حسابداری جدا و مستقل در نظر گرفته می‌شود. همچنین هیچ یک از اموال شخصی این فرد در هیچ کدام از موسسات ثبت نمی‌شوند.

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

۳. فرض دوره مالی
به طور کلی نتایج واقعی کسب و کار یک شرکت را می‌توان در پایان آن و پس از وصول کلیه مطالبات، و فروش دارایی‌ها به طور دقیق بیان کرد. ولی معمولا عمر یک موسسه را به دوره‌های زمانی کوتاه‌تر تقسیم می‌کنند. به طور مثال سه ماه یا یک سال و برای هر دوره گزارش مجزا تهیه می‌کنند.

توجه داشته باشید که اجباری برای انطباق سال مالی موسسه با سال تقویمی نیست. یعنی الزامی نیست که مثلا در ایران سال مالی اول فروردین شروع شده و آخر اسفند پایان بیابد.

۴. فرض یا مبنای تعهدی
بر اساس این اصل درآمد‌ها به محض تحقق و هزینه‌ها به محض تحمیل بدون توجه به زمان دریافت یا پرداخت ثبت می‌شوند.

۵. فرض واحد پول
این اصل یکی از مهم‌ترین اصول پایه حسابداری است و بر اساس آن کلیه آثار و نتایج معاملات و عملیات بانکی موسسه باید بر حسب پول گزارش شود.

اموال مختلف را می‌توان با مقیاس‌های متفاوت اندازه گیری کرد. به عنوان مثال زمین را با متر مربع، بنزین و گازوییل را با لیتر. ولی اگر در ترازنامه هم اینگونه ارائه شوند دیگر قابل مقایسه با یکدیگر نیستند. به همین خاطر واحد پول مبنای حسابداری قرار می‌گیرد.

 

۲ نظر موافقین ۰ مخالفین ۰ ۱۷ شهریور ۹۳ ، ۲۰:۰۷
دوشنبه, ۱۷ شهریور ۱۳۹۳، ۰۷:۰۶ ب.ظ

درس هشتم- پایان دوره مالی و چگونگی بستن حساب‌ها

کارآموز عزیز! به شما خسته نباشید می‌گوییم. شما تقریبا موارد اصلی دوره حسابداری درسنامه را تا اینجا فرا گرفته‌اید! با این حال اکنون نیاز دارید که دوره‌ی مالی شرکت و یا تجارت شخصی‌تان را جمع‌بندی کنید و اصطلاحا «حساب‌هایتان را ببندید.»

چرخه حسابداری به یک سری ازعملیاتی می‌گویند که هر سال و یا در هر دوره مالی تکرار می‌شود. این چرخه به ترتیب شامل عملیات‌های زیر است:

۱. جمع آوری کلیه اطلاعات مالی موسسه

۲. تجزیه و تحلیل کلیه معاملات و عملیات مالی موسسه

۳. ثبت کلیه معاملات و عملیات مالی موسسه در دفتر مالی

۴. انتقال کلیه عملیات‌ها از دفتر روزنامه به دفتر کل

۵. آماده کردن تراز آزمایشی (اصلاح نشده)

۶. اصلاح و تعدیل حسابهای دفتر کل

۷. آماده کردن تراز آزمایشی (اصلاح شده)

۸. آماده کردن صورت سود و زیان و صورت تغییرات سرمایه

۹. بستن حسابهای موقت

۱۰. آماده کردن تراز آزمایشی (اختتامی)

۱۱. تهیه ترازنامه و بستن حسابهای دائمی

به طور کلی عملیات حسابداری در دو دوره زمانی انجام می‌شود. در طول دوره مالی و در پایان دوره مالی. قسمت اول که در طول دوره مالی انجام می‌شود شامل جمع آوری کلیه اطلاعات مالی موسسه، تجزیه و تحلیل کلیه معاملات و عملیات مالی موسسه، ثبت کلیه معاملات و عملیات مالی موسسه در دفتر مالی، انتقال کلیه عملیات‌ها از دفتر روزنامه به دفتر کل است. و بقیه عملیات در پایان دوره مالی انجام می‌شود.

 

۵۹ نظر موافقین ۰ مخالفین ۰ ۱۷ شهریور ۹۳ ، ۱۹:۰۶
دوشنبه, ۱۷ شهریور ۱۳۹۳، ۰۶:۵۹ ب.ظ

درس هفتم- کوکی‌ها (Cookie) و ورود به سیستم (Login)

مقدمه
در این درس به معرفی یک تکنیک تازه‌ بنام کوکی می‌پردازیم. حتما در تارنما‌های بسیاری دیده‌اید که سیستم‌ها با ثبت‌نام و ورود، ابتدا شما را شناسایی کرده و بعد قابلیت‌هایی را برای شما فراهم می‌کنند. بطور مثال سیستم‌هایی مانند گوگل که به شما این قابلیت را می‌دهند که بعد از ثبت نام در آنها وارد شده و از توانایی فرستادن و گرفتن رایانامه بهره ببرید. در اصل یکسری از داده ها که مربوط به کاربر وارد شده به سیستم است توسط کوکی‌ها در تمام صفحه‌های تارنما قابل دسترسی می‌شوند و بعد با توجه به این داده‌ها سرویس مورد نظر به کاربر وارد شده ارایه می‌گردد. اما این قابلیت بطور پیش‌فرض در پروتکل اچ‌تی‌تی‌پی وجود ندارد٬ پس هر سند اچ‌تی‌تی‌پی یا صفحه تارنما که مشاهده می‌کنید فاقد این توانایی است. برای ردیابی و شناختن کاربران می‌باید از زبان‌های دیگر مانند پی‌اچ‌پی در قالب اچ‌تی‌تی‌پی استفاده کرد. پی‌اچ‌پی این امکان را فراهم می‌کند تا شناسایی و ردیابی کاربران برای سیستم قابل اجرا گردد. ابزارهای پی‌اچ‌پی برای این کار کوکی و سشن (Session که در درس بعدی به آن می‌پردازیم) هستند٬ در این درس به یادگیری کوکی می‌پردازیم.

 

کوکی
کوکی ابزاری است که سیستم سرویس دهنده توسط زبان برنامه نویسی شده در آن٬ یکسری داده‌های مربوط به کاربران را در رایانه هر کاربر بصورت یک فایل ثبت می‌کند. از آن به بعد هر بار که کاربر به آن تارنما یا سیستمی که در آن ثبت نام کرده مراجعه می‌کند٬ سیستم داده‌های مربوط به آن کاربر را خوانده و از آن برای ردیابی و ارائه سرویس‌های ویژه‌ی آن کاربر استفاده می‌کند. برای اینکه  کوکی‌های ساخته شده در رایانه خود توسط هر سیستم را مشاهده کنید٬ کافی‌ست که به آدرس آن در مرورگر خود بروید. بطور مثال به نشانی‌های زیر در مرورگر فایرفاکس مراجعه کنید٬ تا کوکی‌های ثبت شده را ببینید:

Firefox: Tools / Options / Privacy / Show Cookies.

برای دیدن کوکی تارنمای ویژه‌ای کافی‌ست که نشانی آن تارنما را در قسمت جستجو (Search) بزنید٬ بطور مثال ما برای دیدن کوکی تارنمای خود که در مکان محلی یا همان  Localhost است٬ این کلمه را وارد می‌کنیم و کوکی مورد نظر آورده می‌شود. بعد از دست‌یابی به کوکی٬ می‌بینید که شما قادر به پاک کردن آن هستید. اگر کوکی تارنمایی را پاک کنید٬ آن تارنما در زمان ورود دوباره شما به سیستم٬ دوباره کوکی تازه‌ای می‌سازد.

برای استفاده از کوکی٬ قسمت ورود را به سیستم خود اضافه می‌کنیم. در طول این درس با اضافه کردن قسمت «ورود» کاربران قادر به ثبت نام (که در درس‌های قبلی انجام دادیم) و ورود به سیستم می‌شوند.

 

۰ نظر موافقین ۰ مخالفین ۰ ۱۷ شهریور ۹۳ ، ۱۸:۵۹

مقدمه
در مجموعه درسهای گذشته با مفاهیم لازم برای ساخت یک تارنمای ساده آشنا شده‌ایم و همچنین تکنیک‌های پیشرفته‌ای را آموختیم. اما هنوز مفاهیم بیشتری برای پوشش دادن وجود دارند که در طول دوره به آنها خواهیم پرداخت. در این درس به یکی دیگر از این تکنیک‌ها یعنی نحوه ارسال رایانامه می‌پردازیم.

 

فرستادن رایانامه
حتما تا به امروز کلمه «تماس با ما» را در تارنماهای بسیاری مشاهده کرده‌اید. این برگه به شما اجازه می‌دهد که به مدیر آن تارنما یک پیغام از طریق رایانامه بفرستید. فرستادن رایانامه در پی‌اچ‌پی بسیار ساده است و تنها با دانستن یک تابع و پارامتر‌هایش این مهم اجرا خواهد شد.

تابع فرستادن رایانامه

mail (to, subject, body, [header] ) ;

mail (، بدنه، موضوع، به[سرایند]);

نکته: پارامترها می‌توانند بصورت ایستا (متن) و یا بصورت یک متغیر باشند.

mail ($to, $subject, $body, [$header] ) ;

به یا to
به معنی گیرنده رایانامه است. در صورتی که از این تکنیک برای دریافت رایانامه‌های ارسالی کاربران خود استفاده می‌کنید، باید نشانی رایانامه‌ای که می‌خواهید پیام‌های کاربرانتان را دریافت کند در این قسمت قرار دهید.

موضوع یا subject: همین طور که از نام پیداست به معنی موضوع پیام ارسالی است.

بدنه یا :body متن پیام در این قسمت گذاشته  و ارسال می‌شود.

سرایند یا :header در زمان ارسال هر رایانامه‌ای، انتخاب‌هایی  و یا گزینه‌های دیگری مانند  FROM، (Carbon Copy) CC و یا (Blind Carbon Copy) BCC وجود دارند که همه آنها در قسمت سرایند قرار می‌گیرند. این قسمت یک پارامتر انتخابی اشت و لزوما برای ارسال رایانامه نیازی به آن نیست، اما بهتر است که FROM در رایانامه گنجانده شود. در مورد باقی گزینه‌ها هم، خب، انتخاب با شماست.

 

۰ نظر موافقین ۰ مخالفین ۰ ۱۷ شهریور ۹۳ ، ۱۸:۵۸
دوشنبه, ۱۷ شهریور ۱۳۹۳، ۰۶:۵۷ ب.ظ

درس پنجم- صفحه بندی و مرتب سازی رکوردها

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

 

یاد‌آوری
وارد کردن فایل
 برای واردکردن فایل در فایل دیگری از موارد زیر استفاده می‌شود.

  • include('نام و نشانی فایل')
  • include_once()
  • require()
  • require_once()

 

توابع

isset( $_POST['submit'] ) // اطمینان از ارسال داده‌ها توسط دکمه ارسال    

empty($_POST['name'])  // اطمینان از پربودن کادر فرم   

$dbc = mysqli_connect ( hostname , username , password , db_name ); // اتصال به پایگاه

mysqli_connect_error( )  // برگرداندن متنی به عنوان اشکال در اتصال به پایگاه

mysqli_set_charset($dbc, 'utf8');  // تنظیم نوع رمزگذاری کاراکتر‌ها

$e = mysqli_real_escape_string($dbc, trim($_POST['email'])) ; //   از بین بردن فاصله‌ها و کاراکترهای اضافه

$q = "SELECT * FROM users ORDER BY register_date ASC"; //    پرس‌وجو

$r = @mysqli_query ($dbc, $q); // اجرای پرس‌و‌جو

$num = mysqli_num_rows($r); // شمارش تعداد دریافتی‌ها

$row = mysqli_fetch_array($r, MYSQLI_ASSOC) //به داخل آرایه با کلید کلمه‌ای    دریافت‌ها

$row = mysqli_fetch_array($r, MYSQLI_NUM);  // به داخل آرایه با کلید شماره‌ای    دریافت‌ها

mysqli_free_result ($r); // آزادسازی منابع

mysqli_close($dbc); // بستن ارتباط با پایگاه

 

صفحه بندی
حتما قبلا با مراجعه به تارنماهای بسیاری با این قسمت روبرو شدید. مثلا در موتور جستجوی گوگل در هنگام نمایش یافته‌ها اگر به قسمت پایین صفحه دقت کنید، صفحه بندی را در قالب نمایش داده‌ها در صفحه‌های بیشماری مشاهده خواهید کرد.

برای انجام این مهم ما از پوشه‌ای که در دوره مقدماتی با هم ساختیم استفاده می‌کنیم. لطفا یک رونوشت از پوشه درس ۱۵ «ویرایش داده‌ها» گرفته و با نام تازه Pagination ثبت کنید. کار صفحه بندی را می‌خواهیم در برگه «کاربران» انجام دهیم، بطوریکه این برگه کاربران ثبت نام شده را در صفحه‌های متعددی با توجه به تعداد آنها و تعدادی که می‌خواهیم در یک صفحه دیده شود، نمایش دهد.

برای پیاده سازی صفحه بندی در برگه کاربران این برگه را باز نویسی می‌کنیم. یعنی کد‌های آن را پاک کرده و از نو کدهای جدید را وارد می‌کنیم.

۰ نظر موافقین ۰ مخالفین ۰ ۱۷ شهریور ۹۳ ، ۱۸:۵۷