آموزش PHP - فرم ها در PHP

زبان PHP به پويايي و تعامل با كاربر شهره است و اين كار را مي تواند به بهترين نحو انجام دهد . اگر بخواهيم با كاربر تعاملي داشته باشيم يعني ورودي از كاربر بگيريم يا چيزي شبيه اين بايد حتما ياد بگيريم كه چگونه با فرم ها كار كنيم . براي طراحي فرم ها از يكسري كنترل هاي برنامه نويسي استفاده مي كنيم . اكثر اين كنترل ها با تگ input زبان HTML قابل ايجاد هستند . منتها بايد بدانيم كه تا وقتي اين كنترل ها را در يك فرم قرار ندهيم به هنگام ارسال صفحه به سرور ، اطلاعاتي كه كاربر در اين كنترل ها وارد كرده به سمت سرور ارسال نخواهد شد . براي ايجاد يك فرم بايد از تگ فرم در HTML استفاده كرد . به شكل زير :
همانطور كه مي بينيد تگ فرم دو خصيصه مهم دارد . يكي خصيصه method و ديگري خصيصه action .
خصيصه method مشخص مي كند اطلاعات داخل فرم به چه شكلي سمت سرور ارسال شوند . اين خصيصه دو مقدار مي گيرد . اگر مقدار اين خصيصه get باشد اطلاعات داخل url قرار گرفته و سمت سرور ارسال مي شوند . اگر مقدار اين خصيصه post باشد اطلاعات داخل بسته هاي http قرار گرفته و به سرور ارسال مي شوند .
خصيصه action مشخص مي كند اطلاعات اين فرم براي پردازش به چه فايلي بايد ارسال شوند و به هنگام دريافت اطلاعات اين فرم توسط سرور كدام فايل سرور بايد اجرا شود . در حقيقت خصيصه method هم مشخص مي كند اطلاعات به چه شكلي بايد به دست اين فايل برسند و اين فايل به چه صورت به اطلاعات ارسالي از سمت client دسترسي پيدا كند .
براي درك بهتر اين مطلب مثالي را با هم مرور مي كنيم . منتها قبل از مطالعه و بررسي مثال اگر با تگ input در html آشنايي نداريد مطلبي با همين عنوان را در بخش آموزش HTML از همين سايت مطالعه كنيد .
حال فرض كنيد يك صفحه وب داريم كه داراي دو كنترل از نوع input و يك كنترل از نوع submit است . مي خواهيم در اين دو كنترل از نوع input عددي وارد كرده و با كليك بر روي دكمه submit وارد صفحه جديدي شده و حاصل جمع دو عدد وارد شده را به همراه پيغام مناسبي ببينيم . براي اين كار يك فايل ايجاد مي كنيم بنام data.php . يادتان باشد چون اين فايل حاوي كدهاي PHP نيست حتي مي تواند با پسوند html ذخيره گردد :
</font></span></div><span style="color: rgb(51, 0, 204);"><font size="3" face="arial,helvetica,sans-serif"> </font></span><div style="text-align: justify; direction: ltr;"><span style="color: rgb(51, 0, 204);"><font size="3" face="arial,helvetica,sans-serif"><span style="white-space: pre;"> </span>Data Page</font></span></div><span style="color: rgb(51, 0, 204);"><font size="3" face="arial,helvetica,sans-serif"> </font></span><div style="text-align: justify; direction: ltr;"><span style="color: rgb(51, 0, 204);"><font size="3" face="arial,helvetica,sans-serif">
First Number :

Second Number :

هنگامي كه بر روي دكمه Add كليك شود ، چون كنترلي از جنس submit است اطلاعات آن به صورت خودكار به سرور ارسال مي شود . اگر يكي از input هاي فوق بيرون تگ form باشد اطلاعات مربوط به آن input به سمت سرور فرستاده نمي شود . هنگام ارسال به سمت سرور و به محض كليك بر روي دكمه Add (با فرض اينكه عدد اول 3 و عدد دوم 4 باشد) چون خصيصه action اين فرم با مقدار result.php مقدار دهي شده و خصيصه method آن نيز با get تنظيم شده است آدرسي كه در نوار آدرس مرورگر مشاهده خواهد شد عبارت خواهد بود از :
result.php?txtFirstNumber=3&txtSecondNumber=4
همانطور كه قبلا گفته شد، هنگامي كه از متد get استفاده شود اطلاعات فرم از طريق url ارسال خواهند شد . روال اين كار بدين شكل است كه كنترل ها بر اساس خصيصه name (و نه id) خود و سپس با يك علامت = و بعد مقداري كه در كنترل وارد شده در url ظاهر مي شوند .براي جدا كردن نام كنترل ها از نام صفحه از علامت سئوال ? استفاده مي شود و پس از علامت سئوال بلافاصله نام اولين كنترل و مقدار آن قرار مي گيرد .و بعد براي مرز بندي بين مقدار يك كنترل و نام كنترل بعدي براي كنترل هاي دوم به بعد قبل از نام آنها يك علامت & قرار مي گيرد .
واضح است كه متد get براي ارسال اطلاعاتي كه عامل امنيت براي آنها اهميت دارند استفاده نمي شود . مثلا اگر قرار باشد فرمي نام كاربري و كلمه عبور كاربران را دريافت كند آن فرم نبايد با استفاده از متد get سمت سرور ارسال شود .
حال در فايل result.php چه كاري بايد انجام دهيم ؟ اين فايل مي تواند مخلوطي از كدهاي PHP براي پردازش اطلاعات ارسالي از كلاينت و كد هاي HTML براي قالب بندي صفحه و نمايش اطلاعات باشد . بهتر است كه حتي اگر براي قالب بندي و نمايش اطلاعات از كد HTML استفاده نمي كنيد از تگ هاي HTML ، Head و body براي استاندارد سازي صفحات استفاده كنيد . نمونه اي از پياده سازي فايل result.php را با هم در زير مي بينيم :
</font></span></div><span style="color: rgb(51, 0, 204);"><font size="3" face="arial,helvetica,sans-serif"> </font></span><div style="text-align: justify; direction: ltr;"><span style="color: rgb(51, 0, 204);"><font size="3" face="arial,helvetica,sans-serif">Result Page</font></span></div><span style="color: rgb(51, 0, 204);"><font size="3" face="arial,helvetica,sans-serif"> </font></span><div style="text-align: justify; direction: ltr;"><span style="color: rgb(51, 0, 204);"><font size="3" face="arial,helvetica,sans-serif">
$sum = $_GET['txtFirstNumber'] + $_GET['txtSecondNumber'];
echo "The Sumation of ".$_GET['txtFirstNumber']." and ".$_GET['txtSecondNumber']." is ".$sum;
?>
براي دريافت اطلاعات از فرمي كه توسط متد get ارسال شده بايد از آرايه انجمني $_GET استفاده كرد . توجه داشته باشيد كه به هنگام نوشتن تگ فرم عبارت get را به هر نحو (از نظر بزرگي و كوچكي حروف) كه دوست داشته باشيد مي توانيد بنويسيد زيرا تگ فرم به زبان HTML نوشته مي شود و اين زبان Case Sensitive نيست . اما در PHP نام اين آرايه حتما بايد به همين شكل (يعني با حروف بزرگ) نوشته شود . ضمن اينكه اين آرايه ، يك آرايه انجمني است  يعني به عناصر آرايه بايد با يك كليد دسترسي پيدا كرد . حال اين كليد چيست ؟ مقدار خصوصيت name كه در تگ input در فرم HTML به كار رفته است .
اگر همين مثال را بخواهيم با متد post انجام دهيم كافيست در فرم HTML در قسمت method به جاي get ‌بنويسيم post . و در فايل result.php نيز به جاي آرايه $_GET از آرايه $_POST كه آن نيز انجمني است استفاده شود . توجه داشته باشيد كه در بسياري جاها از اين دو آرايه با نام تابع ياد شده است كه اشتباه است . در PHP تابع $_GET يا تابع $_POST نداريم . هنگامي كه اين مثال را با متد post بازنويسي كنيد مي بينيد كه به هنگام كليك بر روي دكمه Add آدرس نهايي result.php خواهد بود و هيچ گونه پارامتري در url ارسال نخواهد شد .
حال كه با اين دو متد ارسال صفحات وب يعني متد get و متد post آشنا شديد ببينيم اين دقيقا چه تفاوتهايي با هم دارند :
تفاوت متد get و متد post :
از آنجايي كه متد get تمامي كنترل ها و مقادير آنها را از طريق url به سمت سرور ارسال مي كند واضح است كه اولين تفاوت get و post اينست كه از طريق متد get تنها مي توان اطلاعات متني را ارسال كرد و اطلاعاتي از قبيل فايل ، عكس و ... را تنها مي توان با متد post ارسال نمود .
دومين تفاوت متد ارسال get و متد ارسال post اينست كه متد get نا امن است . چرا كه همانطور كه گفتيم اطلاعات ارسالي را به صورت clear text يعني متن صريح نشان مي دهد . بنابراين براي گرفتن كلمه عبور كاربر حتي اگر از كنترل input از نوع password استفاده كنيم كه هنگام گرفتن كلمه عبور آنرا نشان نمي دهد ، به هنگام ارسال اين كلمه عبور در url نشان داده خواهد شد .
تفاوت سوم اينست كه بالاخره ميزان اطلاعات ارسالي توسط متد get محدود است و معمول نيست كه طول url بيش از 2000 كاراكتر باشد . چرا كه مرورگري مانند IE تنها 2048 كاراكتر اول آدرس را در نظر مي گيرد . (در تئوري متد get چنين محدوديتي وجود ندارد و اين محدوديت فقط در عمل و به خاطر رفتار مرورگر IE است) . ولي هنگام استفاده از متد post مي توانيد به طور پيش فرض حداكثر تا 8Mbyte اطلاعات سمت سرور ارسال كنيد كه البته اين مقدار قابل تغيير است . براي تغيير اين مقدار بايد در فايل php.ini كه فايل پيكربندي PHP است مقدار متغير محيطي post_max_size را بر حسب مگابايت تغيير دهيد (اين متغير به طور پيش فرض برابر است با 8Mbyte).
همانطور كه ديديم براي ارسال يك فرم دو متد بيشتر وجود ندارد . get و post . اگر فرم با متد get ارسال شده باشد در PHP از آرايه $_GET و اگر فرم با متد post ارسال شده باشد در PHP از  آرايه $_POST استفاده مي شود و آرايه $_GET براي فرمي كه با متد post ارسال شده قابل استفاده نيست (و برعكس). اما صرفنظر از متد ارسال فرم در PHP مي توان از آرايه ديگري نيز استفاده كرد و آن آرايه $_REQUEST است. اين آرايه تمام كنترل هايي كه با استفاده از هر دو متد، ارسال شده باشند را دريافت مي كند .اين متد معمولا براي نوشتن وب سرويس هايي كه قرار است سرويسي به برنامه هاي نوشته شده توسط ساير برنامه نويسان دهد استفاده مي شود چرا كه يك برنامه نويس ممكن است از متد post استفاده كند و ديگري از متد get ولي شما كه نويسنده وب سرويس هستيد بايد پارامترهاي ارسالي هر دو را دريافت كنيد .
نکته مهم دیگری که در کار با فرم ها حائز اهمیت است اینست که کنترل کنید کاربر چگونه به صفحه ای مانند result.php وارد شده است ؟ آیا واقعا قبلا در صفحه کلاینت شما بوده و فرم را پر کرده و دکمه submit را زده که وارد این صفحه شده یا مستقیما آدرس این صفحه را در بخش نوار آدرس وارد کرده است ؟ اگر حالت دوم باشد آرایه های GET و POST هر دو خالی هستند و برنامه شما با مشکل مواجه می شود . برای فهمیدن این موضوع می توانید  از تابع isset استفاده کنید . این تابع بررسی می کند یک دکمه ، چک باکس و یا دکمه رادیویی و امثال اینها کلیک یا انتخاب شده است یا خیر . بنابراین کد به شکل زیر تغییر می یابد :
</font></span></div> <div style="text-align: justify; direction: ltr;"><span style="color: rgb(51, 0, 204);"><font size="3" face="arial,helvetica,sans-serif">Result Page</font></span></div> <div style="text-align: justify; direction: ltr;"><span style="color: rgb(51, 0, 204);"><font size="3" face="arial,helvetica,sans-serif">
if(isset($_POST['btnSend']))
{
$sum = $_GET['txtFirstNumber'] + $_GET['txtSecondNumber'];
echo "The Sumation of ".$_GET['txtFirstNumber']." and ".$_GET['txtSecondNumber']." is ".$sum;
}
else
{
echo "You must fill empty elements in the form";
}
?>ادامه مطالب

ادامه نوشته

آموزش PHP - متغیر ها در PHP

متغیرها ، فضایی از حافظه هستند که برای ذخیره سازی اطلاعاتی که یک برنامه در حین اجرا نیاز دارد استفاده می شوند . به این خاطر نام متغیر را بر روی آنها گذاشته اند که این قابلیت را دارند که مقدار آنها تغییر کند . این متغیر ها با یک نام منحصر به فرد مشخص می شوند . این نام برای ارجاع به آنها و یا بازخوانی مقادیر ذخیره شده در آنها استفاده می شود اگر متغیری نام نداشته باشد فقط یک فضای بیخود اشغال کرده است بدون آنکه بتوان از آن استفاده ای کرد . دقیقا مانند اینکه فردی نام و آدرسی نداشته باشد .آیا می توان این فرد را خطاب قرار داد ؟
در php متغیر ها با آوردن یک علامت $ قبل از نام آنها شناسایی می شوند به عبارت دیگر اگر هنگامی که با متغیری کار دارید پیش از آوردن نامش علامت $ نیاورید مرتکب یک خطای دستوری شده اید . البته php مانند زبانهای دیگر نیست که قبل از استفاده از متغیر لازم باشد آن متغیر را اعلان (declare) کرد . در php هرگاه که به متغیری نیاز داشتید کافیست نام آنرا بیاورید حتی اگر برای بار اول بخواهید از آن استفاده کنید . این کار سادگی هایی را برای برنامه نویسان فراهم آورده است ولی در عین حال یک مشکل بزرگ هم ایجاد کرده است و آن اینکه اگر برنامه نویس نام متغیری را اشتباه بنویسد هیچ خطایی از جانب کامپایلر دریافت نمی کند چرا که کامپایلر فکر می کند برنامه نویس قصد داشته یک متغیر جدید بکار ببرد. پس هنگام کار با متغیر ها دقت کافی داشته باشید . برای همین است که php را یک زبان Loosely Typed (در مقابل Strongly Typed) می دانند . با این حال بهتر است چیزی شبیه به اعلان در برنامه داشته باشید و آن مقدار دهی به متغیر ها در اول برنامه است . مانند زیر :
$variable = value;
شایان ذکر است که در انتهای تمام خطوط غیر شرطی php باید یک علامت سمی کالن (;) بگذارید . در غیر این صورت با خطای دستوری مواجه می شوید .
حال سئوال اینجاست : php که اعلان ندارد میزان حافظه و نوع حافظه ای که باید در اختیار متغیر ها قرار دهد را از کجا تشخیص می دهد ؟ جواب : php بسته به مقداری که در متغیر قرار می گیرد نوع متغیر و میزان حافظه را تعیین می کند یعنی در زمان اجرا . به عبارت دیگر ممکن است متغیری اکنون از نوع عدد صحیح باشد و در خط بعدی از جنس رشته ! پس خود php این تبدیل نوع را انجام می دهد .

در php متغیر به محض استفاده به صورت خودکار تعریف می شود.

قوانین نام گذاری متغیر ها
یکسری قوانین برای نام گذاری متغیرها وجود دارد که عبارتند از :
1- نام متغیر می تواند از حروف الفبای انگلیسی بزرگ و کوچک ، عدد و علامت (_) یا همان underline یا underscore تشکیل شود .
2- نام متغیر نمی تواند با عدد شروع شود .
3- قبل از نام متغیر باید حتما علامت $ بیاید .
4- نام متغیر نمی تواند شامل کاراکتر space باشد .
با توجه به بند 4 از قوانین فوق برای نام گذاری متغیرهایی که از بیش از یک کلمه دارند می توانید یکی از دو ره زیر را برگزینید :
الف - جداسازی کلمات از هم با علامت underline
ب- استفاده از استاندارد Camel Case : این استاندارد می گوید کلمه اول تماما با حروف کوچک نوشته می شود و از کلمات بعدی فقط حرف اول هر کلمه با حرف بزرگ نوشته می شود .گفتنی است این استاندارد در بین تمام برنامه نویسان دنیا رایج بوده و با رعایت این استاندارد تمام برنامه نویسان می توانند کد شما را به راحتی متوجه شوند .
برخی نمونه های نام متغیر ها را در زیر می بینید :
نام متغیر توضیحات
$my var نادرست - به خاطر استفاده از space
$my_var درست
$2my_var نادرست - شروع نام با عدد
$myVar


ادامه مطالب
درست - استاندارد camelCase
ادامه نوشته

فرق متد post با get

درhtml می توان با استفاده از فرم ها برای کاربر صفحه ای را ایجاد کردتا بتواند یک سری از اطلاعات را در یک صفحه وارد کند .

برای ایجاد کردن فرم در html از تگ های </form><form> استفاده می شود. که عناصر موجود در فرم بین این تگ ها قرار می گیرند.

در تگ فرم از ویژگی ها ی action و method استفاده می شود.

ویژگی action  :

ویژگی action صفحه ای را که بعد از پر کردن اطلاعات می خواهیم به آن فرستاده شود را مشخص می کند.

یعنی زمانی که کاربر اطلاعات مورد نظر را کامل کرد و دکمه ی ارسال را انتخاب کرد ،صفحه ای که در مقابل action نوشته شده است برای پردازش کردن اطلاعات باز شود.در واقع این فرم ها باید برای یک برنامه ی پردازشگر ، که معمولا به یکی از زبان های  تحت سرور هستند(php ,asp.net) فرستاده شوند.پس در مقابل این ویژگی آدرس صفحه ی پردازشگری که قرار است فرم به آنجا فرستاده شود می آید.

ویژگی method:

این ویژگی مشخص می کند که به چه روشی اطلاعات برای صفحه ای که در مقابل ویژگی action مشخص کردیم فرستاده شود. که شامل مقادیر get و post می باشد.

Get: اگر از این مقدار در مقابل ویژگی method استفاده شود، اطلاعاتی که کاربر در صفحه پر کرده است از طریق نوار آدرس انتقال می یابد.

Post: اگر از این مقدار در مقابل ویژگی method استفاده شود، برای ارسال کردن اطلاعات از نوار آدرس استفاده نمی شود وامنیت بالاتری نسبت به زمانی که از get استفاده می کنیم خواهد داشت.

 

تفاوت های بین فرستادن اطلاعات با استفاده از get و استفاده از post  در زیر آمده است:

اگر ازمتدget استفاده شود این متد برای فرستادن اطلاعات از url (نوار آدرس صفحه) استفاده می کند، در نتیجه امکان نمایش فیلد هایی که اطلاعات آنها مهم می باشد در  در نوار آدرس وجود دارد ،یعنی اطلاعات وارد شده در فرم پس از یک علامت سؤال و  بعد از آدرس صفحه ای که در مقابل ویژگی action وجود دارد، قرار می گیرند و ارسال می شوند.

واطلاعاتی که در این روش ارسال می شوند محدود می باشد.اما سرعت این روش از روش post بیشتر می باشد.

اگر ازمتد  post استفاده شود، این متد اطلاعات را به صورت مخفی از طریق,http request ها انجام می دهد، و امنیت آن از روش get بیشتر بوده و محدودیتی در حجم اطلاعاتی که فرستاده می شود وجود ندارد. 

 یک فرم می تواند ویژگی های زیر را بپذیرد:

Name

ازاین ویژگی زمانی استفاده می شود که بخواهیم فرم مورد نظر نام مشخصی داشته باشد.نام فرم مورد نظر در مقابل ویژگی name آورده می شود.

"نام فرم مورد نظر"Name=

Target

از این ویژگی زمانی استفاده می شود که بخواهیم مشخص کنیم صفحه ی پردازش مورد نظر به چه صورتی باز شود ، به صورت پیش فرض داخل همان صفحه ای که در آن قرار داریم باز می شود اما میتوان با مقداری که به ویژگی target می دهیم مشخص کنیم که صفحه ی پردازش  در یک صفحه جدید باز شود.

Target=”blank”

فرق متد post با get

همه تقریبا با این دو متد اشنا هستند این دومتد برای ارسال فرم ها به کار می رود .
اما فرق این دو تا متد شاید برای بعضی ها سوال باشه .

اولین فرق این دو متد در امنیت اطلاعات ارسالی می باشد .

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

اما متد post نسبت به get از امنیت بالاتری برخوردار است و از متد post برای ارسال اطلاعات مهم استفاده میشود مثل ارسال کلمه عبور و پسورد البته برای بالا بردن امنیت استفاده تنها از متد post کافی نیست و انجام این کار به تنهایی نمی تواند جلوی حملات هکر ها را بگیرد .

دومین فرق این دو متد در مقدار اطلاعات ارسالیست .
متد get به دلیل روش ارسال اطلاعات دارای ئمحدوویت در ارسال اطلاعات می باشد . حداکثر مقدار اطلااتی که توسط متد get می تون ارسال کرد 100 کارکتر می باشد.
اما این محدودیت در ارسال توسط متد post وجود ندارد و در واقع هیچ محدودیتی برای ارسال توسط متد post وجود ندارد .\

رحلت پیامبر حضرت محمد (ص) و شهادت امام حسن مجتبی (ع) و امام رضا (ع) تسلیت باد  




طریقة نصب صحیح Bluetooth بر روی كامپیوتر


1-نصب patch های usb مادر برد ازروی cd motherboard بروی كامپیوتر 2-اتصال bluetooth خریداری شده (microsimاینجا این مدل گفته میشود ) به usb
3-بعد از اتمام شناختن سخت افزار usb بر روی كامپیوتر بصورت اتوماتیك تا اتمام نصب آن توسط windows صبر می كنیم ویندوز پیشنهادی windows xp pro sp2 می باشد
4-بعد از اتمام كار ویندوز usb را در می آوریم « خیلی مهم »
5- حالا cd bluetoothكه داخل پكیج خریداری شده موجود می باشد را داخل cd گذاشته تا این بار پروتكلهای مربوط به این نوع سخت افزار نصب شود
6-درهنگام نصب خطای نبودن سخت افزار usb را می گیرد در این هنگام usb كه در آورده شده بود دوباره به پورت خودش وصل میكنیم و پیغام خطا را ok می كنیم
7-بدون restart كردن دستگاه نرم افزار pc suite را نصب می كنیم
8-در هنگام نصب گزینه install sdkرا غیر فعال می كنیم
9-كامپیوتر توسط نرم افزار و با اطلاع شما restart می شود
10-بعد از شروع مجدد كلید finish می زنیم
11-تا این مرحله به هیچ عنوان روی icon های بلوتوث و mrouter كلیك نمی كنیم

مراحل اصلی

12-در اینمرحله روی ایكون بلوتوث رایت كلیك كرده و گزینه join ......network. را انتخابمیكنیم
13-گزینهmydevice...... ا فعال میكنیم
14-برای موبایل خود درقسمت بلوتوث گوشی نامی بدهید و بلوتوث دستگاه فعال باشد
15-دكمه next را كلیك كنید دستگاه بعد از جستجو نام شما ( موبایلتان ) را پیدا می كند
16-بعد از آن گزینه اول را انتخاب كنید chose passkey ........
17-دستگاه یك شماره به شما میدهد آنرا یادداشت كنید و همیشه داشته باشید
18- موبایل شما هم اكتیو شده و شماره می خواهد
19-شماره یادداشت شده را می دهید و ok میكنید
20-مراحل نصب بانوشتن installation به اتمام میرسد
21- بعد در روی ایكون mrouter راست كلیك كرده و گزینه connect a blue..... را كلیك می كنیم
22- بعد از جستجو موبایل شما را با اسم پیدا میكند موبایل را انتخاب كرده ok میكنیم
23- برنامه pcsuite را اجرا می كنیم
24- دستگاه موبایل شما شناسایی می كند بصورت پیش فرضnokia 6600
25- دستگاه فعال میشود
26- ایكون در taskbar تغییر كرده سبز میشود
منبع:www.patoghu.com


كدام زبان برنامه‌نویسی را انتخاب كنیم؟

برنامه‌نویسی وب‌

فعلاً برنامه‌نویسی تحت وب داغ‌ترین سوژه در دنیای برنامه‌نویسی است. شاید بد نباشد یادآوری كنم كه اصولاً فلسفه برنامه‌نویسی تحت وب چه بود كه به اینجا رسید. علت محبوبیت و رشد گسترده برنامه‌نویسی تحت وب، حل شدن مشكل كلاینت بود.

در این مدل از برنامه‌نویسی، برنامه‌نویس دغدغه چندانی درباره قابل نصب بودن برنامه‌اش روی پلتفرم‌های مختلف ندارد زیرا وضعیت تقریباً روشن است. همین كه برنامه شما روی یكی دو مرورگر معروف مانند فایرفاكس و اینترنت اكسپلورر جواب بدهد، كافی است.

بنابراین در پاسخ به این سؤال كه كدام زبان برنامه‌نویسی وب را انتخاب كنیم، باید گفت زبان‌هایی كه از همه ساده‌ترند و تغییر و تحولات را به سرعت می‌پذیرند. در حال حاضر در این زمینه دو فناوری PHP و ASP.NET پیشتاز هستند. زبان اسكریپت‌نویسی PHP شباهت‌هایی به زبان C دارد.

به همین دلیل سرعت كامپایل شدن آن بالا است و سایت‌هایی كه از این زبان استفاده می‌كنند اندكی سریع‌ترند. فناوری ASP.NET از ویژوال بیسیك دات‌نت یا سی‌شارپ استفاده می‌كند. این دو زبان، به ویژه در جدیدترین نسخه فناوری دات‌نت در یك حد هستند.

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

هم PHP و هم ASP.NET وضع خوبی در این زمینه دارند. علاوه بر این، برخی فناوری‌های روز هم خیلی مهم هستند كه وب‌سرویس یكی از آن‌هاست. در حال حاضر رقابت شدیدی میان فناوریSOAP  كه از سوی آی بی‌ام و مایكروسافت و دیگران پشتیبانی می‌شود و فناوری REST كه از سوی یاهو و برخی شركت‌های بزرگ دیگر حمایت می‌شود، وجود دارد.

اما وضع بعضی زبان‌ها مانند جاوا (JSP) و ColdFusion در دنیای وب خراب است و برخی زبان‌ها اخیراً دوباره مورد توجه قرارگرفته‌اند كه از آن جمله می‌توان به Python و Ruby اشاره كرد. وضعیت جاوا در وب در این میان جالب توجه است. برخلاف موفقیت چشمگیر جاوا در برنامه‌نویسی برای سیستم‌های بزرگ، این زبان به شدت در وب دچار ناكامی است. وب یك دنیای بصری است و به سادگی و ظاهر سیستم‌ها اهمیت می‌دهد.

به همین دلیل زبان‌های فاقد ابزارهای ویژوال و قدرتمند كه در عین حال ساده نیز هستند در این وادی محكوم به زوالند و این مسئله برای جاوا كه در زمینه وارد كردن مفاهیم بصری و پویا به دنیای وب پیشگام بود،  ناگوار است، البته این قضیه هیچ ربطی به زبان اسكریپت‌نویسی «جاوااسكریپت» كه با ظهور ای‌جكس جان تازه‌ای پیدا كرده، ندارد.

برنامه‌نویسی سیستم‌های بزرگ‌

اما وضعیت در صنایع و سازمان‌های بزرگ بسیار متفاوت است. در جاهایی مانند صنایع مالی و بانكی، صنایع پتروشیمی و نفت، صنایع مخابراتی، سازمان‌های دولتی، صنایع خودروسازی و مانند این‌ها، هنوز هم جاوا و مشتقاتش حرف اول را می‌زنند. قدرت جاوا در این حوزه‌ها به قدری است كه حتی می‌توان - البته با كمی احتیاط - گفت موفقیت سیستم‌های دیگری مانند اوراكل (كه مبتنی بر جاوا است) نیز بی ارتباط با استیلای جاوا بر این محیط‌ها نیست. كاركردن با جاوا در محیط‌های بزرگ كار آسانی نیست. اوراكل هم آسان نیست و به طور كلی ورود به این عرصه‌ها چالش‌های مختلفی را پیش روی برنامه‌نویسان و شركت‌های نرم‌افزاری قرار می‌دهد، به همین دلیل سیستم‌های مبتنی بر جاوا، گران و پرهزینه و غولآسا هستند. با این حال توجه كنید كه منظور از سازمان‌های بزرگ در اینجا سازمان‌هایی هستند كه از نظر ابعاد، تعداد كلاینت‌ها و تراكنش‌ها واقعاً بزرگ هستند و منظور ما از آن شأن و منزلت یك سازمان نیست.

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

سازمان‌های متوسط و كوچك‌

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

هم به این دلیل و هم به دلایل فنی، این سازمان‌ها و شركت‌ها باید از فناوری‌ها و زبان‌هایی برای توسعه سیستم‌های نرم‌افزاری خود استفاده كنند كه هزینه كمتری دارند و كاركردن با آن‌ها ساده‌تر است. من برای اینگونه مجموعه‌ها استفاده از زبان سی‌شارپ و راه‌حل‌های مبتنی بر ویندوز (مانند SQL Server) را توصیه می‌كنم.

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

شاید به همین دلیل، برخی به دنبال پیاده‌سازی سی‌شارپ در این محیط‌های غیرمایكروسافتی هستند. اما به هرحال زبان جاوا در سیستم‌های غیرمایكروسافتی طرفداران خاص خودش را دارد، ضمن این‌كه تردیدی ندارم كه هنوز هم استفاده از زبان ویژوال بیسیك دات‌نت و API نرم‌افزارهای آفیس مایكروسافت (مانند اكسس) بهترین گزینه برای شركت‌های كوچك و چندنفره است.

برنامه‌نویسی برای موبایل‌

در حوزه برنامه‌نویسی وب زبان ++C و پس از آن زبان‌ جاوا پیشتاز است. زبان‌های دات‌نت نیز كه اخیراً به این حوزه راه یافته‌اند، با فاصله زیادی آن دوتای دیگر را تعقیب می‌كنند. زبان ++‌C زبان غامض و پیچیده‌ای است و به نظر من به تدریج رو به افول گذاشته است.

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

زبان‌های دیگر
جدا از برخی زبان‌های برنامه‌نویسی كه در كاربردهای خاصی مانند هوش مصنوعی ممكن است قدرت بیشتری داشته باشند، سایر زبان‌ها دیگر كهنه به نظر می‌رسند؛ فرترن و كوبول از آن جمله‌اند. البته زبان‌های كار با بانك‌های اطلاعاتی رابطه‌ای مانند T-SQL و PL/SQL موضوع متفاوتی است كه در بحث ما نمی‌گنجد. یك نكته دیگر هم باقی می‌ماند و آن هم دیدگاه محافل آكادمیك درباره زبان‌های برنامه‌نویسی است.

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

ولی به نظر من علاقه محافل آكادمیك به این یا آن زبان ممكن است گمراه‌كننده باشد. آنچه اهمیت دارد كاربرد و كارایی زبان در یك زمینه به‌خصوص و انعطاف‌پذیری آن در مقابل تغییراتی است كه در صنعت و نیازهای مصرف‌كنندگان پدید می‌آید. بقیه مسائل، همگی سلیقه‌ای هستند و نباید با تعصب با این موضوع برخورد كرد.

آموزش پاک کردن ویروس های مخفی با تنظیم ویندوز


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

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

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

برای این کار:

1- به My computer بروید و در Toolbar گزینه Tools را انتخاب کنید.

2- در منوی Tools گزینه Folder Option را انتخاب نمایید.

3- سپس به سر برگ Veiw بروید.

4- در بخش Hidden files and folders تنظیمات زیر را اعمال کنید:

الف- گزینه Show hidden files and folders را انتخاب کنید زیرا اکثر ویروس ها Hidden هستند.

ب- تیک گزینه Hide extensions for known file types را برای نمایش پسوند فایل ها بردارید (پسوند ویروس ها اکثرا exe می باشد)

ج- تیک گزینه Hide protected operating system files (Recommended) را برای نمایش فایل های حفاظت شده سیستمی بردارید و با اخطاری که می دهد موافقت کنید.

5- سپس Ok را بزنید و از Toolbarخارج شوید.

6- کار تمام است! حالا با خیال راحت با یک آنتی ویروس آپدیت شده ( ترجیحا Nod32 یا Kaspersky ) کل هارد دیسک ، فلش و حافظه های جانبی خود را اسکن کنید تا سیستم خود را از شر این ویروس های مخفی و هوشمند به طور کامل پاک کنید! ضمنا پس از پایان اسکن و یافتن و پاک کردن ویروس ها دوباره تنظیمات قبلی را به حالت اول برگردانید.


بازیابی پسورد MS SQLتوسط MS SQL Server Password Unlocker 3.0.2.5

ادامه مطلب

ادامه نوشته

جملات آموزنده

اگر روزي دشمن پيدا كردي, بدان در رسيدن به هدفت موفق بودي!


اگر روزي تهديدت كردند, بدان در برابرت ناتوانند!


اگر روزي خيانت ديدي, بدان قيمتت بالاست!


اگر روزي تركت كردند , بدان با تو بودن لياقت مي خواهد


پيش از سحر تاريك است اما تاكنون نشده كه افتاب طلوع نكند. به سحر اعتماد كنيد!


اگر آفتاب را به نظاره بنشيني، سايه را نتواني ديد.


امروز نخستين روز آينده ي توست.


وقتي يكي از درهاي شادي بسته مي شود،در ديگري باز مي شود،ولي اغلب،ما آن قدر به در بسته نگاه مي كنيم،كه در باز شده را نمي بينيم.


آنقدر شكست خوردن را تجربه كنيد تا راه شكست دادن را بياموزيد

 بادكنك ها هميشه با باد مخالف اوج ميگيرند.


براي خود زندگي كنيم نه براي نمايش دادن آن به ديگران.


سفري به طول هزار فرسنگ با يك گام آغاز مي شود.


بازنده ها در هر جواب مشكلي را مي بينند، ولي برنده در هر مشكلي جوابي را مي بيند.


به جاي موفقيت در چيزي كه از آن نفرت دارم، ترجيح مي دهم در چيزي شكست بخورم كه از آن لذت مي برم(هينز سيندي).


آن‌چه را كه در مزرعه ذهن خود كاشته‌ايد درو خواهيد كرد.


اگر در جريان رودخانه صبرت ضعيف باشد هر تكه چوبي مانعي عظيم بر سر راهت خواهد شد.


آن كه امروز را از دست مي دهد ! فردا را نخواهد يافت.


هيچ روزي از امروز با ارزش تر نيست

چنان باش كه بتواني به هر كس بگويي مثل من رفتار كن.


انسان هر چه بالاتر برود احتمال ديده شدن وصله ي شلوارش بيشتر مي شود (( اديسون ))


هنگامي كه درگير يك رسوايي مي شوي ، در مي يابي دوستان واقعي ات چه كساني هستند .(( اليزابت تيلور ))


عشق عينك سبزي است كه با آن انسان كاه را يونجه مي‌بيند .(( مارك تواين ))


من نميگويم هرگز نبايد در نگاه اول عاشق شد اما اعتقاد دارم بايد براي بار دوم هم نگاه كرد .(( ويكتور هوگو ))


هرگز به احساساتي كه در اولين بر خورد از كسي پيدا مي كنيد نسنجيده اعتماد نكنيد .(( آناتول فرانس ))


تصميم خداوند از قدرت درك ما خارج است اما هميشه به سود ما مي باشد .(( پائولوكوئيلو ))

مهم نيست چه پيش آمده ، تحمل كن و اندوه خود را زير لبخندي بپوشان .( ديل كارنگي )


علف هرزه چيست ؟گياهي است كه هنوز فوايدش كشف نشده است .(( امرسون ))


بردن همه چيز نيست ؛ امّا تلاش براي بردن چرا .(( وئيس لومباردي ))


ادامه مطلب

ادامه نوشته

مراحل نصب moodle روی هاست

http://docs.moodle.org/en/Installing_Moodle




بزرگ‌ترین دلایل سوختن فلش مموری چیست؟

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

این کارشناس  اظهار کرد: یکی از بزرگ ترین دلایل سوختن فلش مموری، بروز مشکل در پورت های USB جلوی کیس است و باید گفت این پورت ها باید با توجه به دفترچه مادربورد به مادربورد وصل شوند.
اما اگر فردی که کامپیوتر شخصی را اسمبل کرده به درستی پین های این پورت را تنظیم نکرده باشد، ممکن است برق جا به جا به فلش وی وارد و باعث سوختن فلش شود. وی در ادامه به حالت Quick removal اشاره کرد و افزود: این حالت که حالت پیش فرض نیز هست، برای سریع جدا کردن فلش مموری است و در این زمان، فلش به safely remove نیاز ندارد و بعد از اتمام کار می توان بدون انجام هیچ کاری فلش را از کامپیوتر جدا کرد و حالت دوم نیز Better performance نام دارد و همان طور که از اسم این حالت مشخص است از حالت قبلی عملکرد بهتر و پرسرعت تری دارد، اما در این حالت کاربر حتما باید قبل از جدا کردن فلش تان از کامپیوتر آن را Safely remove کند و گرنه احتمال سوختن و خراب شدن آن بسیار بالا می رود. کاظمی در پاسخ به سوالی مبنی بر اینکه اگر کاربر روی گزینه better performance باشد و یک دفعه فلش را از سیستم جدا کند، فلش می سوزد گفت: این موضوع ربطی به سوختن یا نسوختن ندارد، فقط ممکن است برخی اطلاعات اضافه (به عنوان Cache) که ویندوز برای کار سریع تر، در هر لحظه روی فلش می نویسد یا از روی آن می خواند و روی درایو C می نویسد، ناقص نوشته شود که البته این هم جای نگرانی ندارد.
وی در ادامه پیشنهاد داد که کاربران تا حد ممکن در کامپیوترهای عمومی، فلش را به پورت های پشت کیس بزنند، چرا که آن پورت ها طبیعتا توسط شرکت به مادربورد متصل شده اند و امن هستند.

عادت های غلطی که در هنگام کار با کامپیوتر باید ترک کنید؟!

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

متخصصان چشم پزشکی تاکید دارند که برای کم کردن فشار روی چشم ها در هنگام کار با رایانه نکات بهداشتی و توصیه های مهم زیر را به کار بگیرید:

- پشت میز رایانه صحیح بنشینید. مطمئن شوید که موقعیت قرار گرفتن رایانه نسبت به چشم هایتان صحیح و استاندارد باشد. صفحه نمایش رایانه یا به اصطلاح خودمان صفحه مانیتور باید به اندازه طول یک بازو یعنی حدود 50 تا 60 سانتی متر از چشم ها فاصله داشته باشد و زاویه آن با چشم ها نیز باید 20 درجه پایین تر از سطح چشم ها باشد. همچنین مچ دست و پاهای خود را نیز در وضعیت مناسب و راحت قرار دهید.

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

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

- هر 20 دقیقه یک بار نگاه خود را از صفحه مانیتور بردارید و به نقطه دور در مسافت حدود 200 فوتی نگاه کنید. این کار باعث تغییر محل تشکیل کانون تمرکز در عدسی چشم شده و به این عضو حساس و حیاتی استراحت می دهد.

- برای حفظ رطوبت چشم ها زیاد پلک بزنید. هم چنین توصیه می شود هر یک ساعت یک بار چشم ها را بسته و روی آنها آب بپاشید.

- کف دستها را به هم بمالید تا اینکه گرم شوند و سپس آنها را حدود 40 تا 60 ثانیه روی چشم ها قرار دهید.

- مواد غذایی سرشار از ویتامین A و C و E را به رژیم غذایی روزانه خود اضافه کنید که مهمترین منابع غذایی حاوی این ویتامین ها شامل سبزیجات سبز رنگ، مرکبات، گوشت مرغ و فرآورده های لبنی هستند. سالم ترین میان وعده حین کار از این نظر هویج و خیار و حتی برخی از میوه های تازه هستند.

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