دنبالر در حالت آرشیو است. امکان ورود یا ارسال وجود ندارد. برای دریافت پشتیبان به backup.donbaler.net مراجعه کنید. تماس: [email protected]

بررسی مقدار یک متغیر با php

انجمن ها » برنامه نویسی » زبان php

بهترین جواب انتخاب نشده یا پرسشی نیست
تاپیک با شناسه 45، حاوی 3 ارسال
رشته: رياضي و فيزيك
شغل: دانش اموز
امتیاز کاربری: 2975
#139
چندی پیش دوستی از من کدی خواست که اگه مثلا با get یا post متغیری ارسال شد اون متغیر تست بشه که ایا ارزش متغیر همونی هست که ما می خواهیم یا نه خوب من از چندتا کد ساده با GET شروع می کنم.

مثلا فایل index.php را ساختیم :
حالت اجرایی : index.php?Donbaler=1

کد 1 : دریافت یک متغیر و بررسی ان با یک پاسخ
 if($_GET['Donbaler'] == '1') { print 'OK Boy';} 
حالا کد یک در صورتی که متغیر ارسال نشده '1' نباشد عبارت دیگری می خواهیم نمایش داده شود مثل 'ERR':
 if($_GET['Donbaler'] == '1') { print 'OK Boy';} else { print 'ERR';}
کد 2 : دریافت یک متغیر و بررسی ان با چند پاسخ (مثلا 3 پاسخ)
 if($_GET['Donbaler'] == '1' || $_GET['Donbaler'] == '2' || $_GET['Donbaler'] == '3') { print 'OK Boy';} else { print 'ERR';}
شکل دیگر (برای ساده نویسی) :
 $D=$_GET['Donbaler']; if($D == '1' || $D == '2' || $D == '3') { print 'OK Boy';} else { print 'ERR';}
کد 3 : حالا کد 2 را به کمک array می نویسیم :
 $someArray = array("a","b","c");
 if(in_array($_GET["Donbaler"],$someArray)) {
    print 'OK Boy';
 } else {
     print 'ERR';
 }
کد 4 : بررسی مقدار در دیتابیس
ابتدا از یه کد برای اتصال به دیتابیس مورد نظرتان استفاده کنید سپس به کد زیر توجه کنید :
 $query=mysql_query('SELECT * FROM TableName WHERE `Donbaler`='.$_GET['Donbaler']); /// Mysql Query
 $mysql_num_rows=mysql_num_rows($query); /// تعداد ردیف های یافت شده به توجه به اطلاعات --> $query
 if($mysql_num_rows == '1') {print 'OK Boy';} else {print 'ERR';} /// بررسی وجود داشتن مقدار
 /// Code By @t
اگر خواستید تا ارسال نشدن متغیر به صورت GET به ادرس واکنشی صورت نگیرد می توانید از یک IF در اول کد استفاده کنید.
امیدوارم مورد استفاده قرار بگیره | سوالات و نظراتتان را در همین صفحه ارسال کنید | t@ | درود بر دنبالر
ارسال شده در 1391/12/10، ساعت 15:12 بالا
فرشاد
@darkc0d3r
میزان تحصیلات: ليسانس
رشته: مترجمی زبان انگلیسی
شغل: توسعه دهنده ، CEO ، مدرس ، مدیر سرور
امتیاز کاربری: 13812
#147
کد 4 از نظر امنیتی شدیدا مشکل داره
سبک استفاده از دیتابیس هم مشکل داره تو این نمونه کد
هیچوقت نباید متغیر مستقیم توی کوئری وارد شه دلایلش روشنه به سادگی میشه حمله SQLI انجام داد
حداقل تو این نمونه شما به این شکل عمل میکردی که مقدار Get رو توی تابع mysql_real_escape_string قرار میدادی و بعد میفرستادی به کوئری و یا از تابع add_slashes استفاده میکردید
مورد بعدی درایور Mysql و توابع مشابه جزو منسوخات PHP محسوب میشن و علت حضورشون تنها به وجود نیومدن ناسازگاری در کد های قدیمی هست
دو درایور جدید و بسیار سریع داریم یکی کلاس MYSQLI هست و دیگری PDO که مورد اول سریعتر از مورد دوم هست
ارسال شده در 1391/12/11، ساعت 12:53 بالا
رشته: رياضي و فيزيك
شغل: دانش اموز
امتیاز کاربری: 2975
#327
اره . دقیقا حق با شماست . مرسی از راهنماییتان ...
ارسال شده در 1392/02/05، ساعت 23:10 بالا
رجوع به :