آموزش عملگرهای منطقی در php به زبان ساده
اپراتورهای منطقی در واقع زمانی مؤثر هستند که با عبارت های شرطی ترکیب شوند. در ادامه مثالی را مشاهده می کنید که این عملگرها را نمایش می دهند:
اپراتورها | توصیف |
&& | and |
or | |
! | not |
اپراتورهای منطقی
اپراتور AND (&&)
اپراتور | Name و Pass |
شرح | اگر name و pass هردو true باشند؛ نتیجه true خواهد شد. |
توضیح | اگر name = = “alex” و pass = = “alex123” باشد؛ سپس به صفحه phptpoint منتقل می شوید و اگر هریک از آنها مجاز نباشد؛ یک پیغام خطا نشان داده می شود (نام یا پسورد غیر مجاز است) |
مثال
<?php
$name=”alex”;
$pass=”alex123″;
if($name==”alex” && $pass==”alex123″)
{
header(‘location:https://www.phptpoint.com‘);
}
else
{
echo “Invalid name or password”;
}
?>
خروجی این برنامه شما را به صفحه http://www.phptpoint.com هدایت می کند.
در مثال بالا، دو متغیر name$ و pass$ با مقادیر (“alex” و “alex123”) تعریف شده است. اگر هر دو مقدار وجود داشته باشد؛ سپس به دلیل ( )header شما به صفحه phptpoint.com هدایت می شوید. در غیر این صورت نام یا رمز عبور مجاز نیست. در این جا هر دو شرط صحیح هستند بنابراین، خروجی شما را به صفحه http://www.phptpoint.com منتقل می کند.
عملگر OR
اپراتور | name یا pass |
توضیح | اگر نام یا پسورد درست باشد؛ نتیجه true خواهد بود |
تشریح | اگر name = = “alex” یا pass = = “alex123” باشد؛ سپس به صفحه phptpoint منتقل می شوید و اگر هر دو آنها false باشد؛ سپس یک پیام خطا نشان داده می شود (نام یا پسورد غیر مجاز است) |
مثال
<?php
$name=”alex”;
$pass=”alex123″;
if($name==”alex” || $pass==”alex12345″)
{
header(‘location:https://www.phptpoint.com‘);
}
else
{
echo “Invalid name or password”;
}
?>
خروجی: این برنامه شما را به صفحه http://www.phptpoint.com منتقل می کند.
در مثال بالا؛ دو متغیر name$ و pass$ را تعریف کرده ایم؛ که به ترتیب مقادیر “alex” یا “alex123” را اتخاذ می کند. اگر هر یکی از این شرایط درست (true) باشد، به صفحه “http://www.phptpoint.com” منتقل می شوید؛ در غیر این صورت هر دو متغیر name و pass غیر مجاز هستند. در این جا یکی از شروط درست است، بنابراین شما به صفحه مورد نظر منتقل می شوید.
اپراتور Not (!)
اپراتور | Not |
توضیح | آزمون منطقی را باز می گرداند. |
توصیف | بررسی می کند که آیا عدد داده شده فرد است یا خیر. در این جا متغیر name$ مقدار ۱۱ را اتخاذ کرده است و مدول آن ۱ می باشد. به عنوان مثال num$ مساوی با ۰ نیست؛ یک عدد فرد می باشد بنابراین ۱۱ یک عدد فرد است. |
مثال
<?php
$num=11;
if($num%2!=0)
{
echo $num.” is odd number”;
}
else
{
echo $num.” is even number”;
}
?>
خروجی: ۱۱ یک عدد فرد است .
در مثال بالا، یک متغیر num$ با مقدار ۱۱ تعریف شده است؛ حالا می خواهیم بررسی کنیم که آیا این عدد زوج است یا فرد. برای این منظور شرط:
($num%2!=0)
را درون آن اعمال می کنیم, اگر این شرط درست نباشد؛ عدد فرد می باشد. در غیر این صورت عبارت else اجرا می شود (عدد زوج است). در این جا عدد بر ۲ تقسیم پذیر نیست بنابراین خروجی بالا نمایش داده می شود: عدد داده شده فرد است.
ایجاد یک صفحه منطقی با استفاده از اپراتور && و ||
<?php
if(isset($_GET[‘login’]))
{
$eid=$_GET[‘e’];
$pass=$_GET[‘p’];
if($eid==”” || $pass==””)
{
echo “<font color=’red’>Please fill your email and pass</font>”;
}
else
{
if($eid==”xyz” && $pass==”xyz123″)
{
echo “<font color=’blue’>welcome xyz</font>”;
}
else
{
echo “<font color=’red’>wrong email or pass</font>”;
}
}
}
?>
<form>
Enter your email<input type=”text” name=”e”/><br/>
Enter your pass<input type=”password” name=”p”/>
<input type=”submit” value=”Signin” name=”login”/>
</form>
خروجی کد بالا به صورت زیر می باشد:
در مثال بالا؛ ما یک فرم با دو بخش ایجاد کرده ایم. به صورت پیشفرض، متد فرم GET می باشد که مربوط به بخش اول بوده و با ایمیل کاربر پر می شود؛ بخش دوم برای وارد کردن رمز عبور است. یک عبارت منطقی در اسکریپت پی اچ پی ایجاد می شود؛ که ابتدا تابع ( ) isset برای وجود بررسی می شود، نام و رمز عبور در بخش های مربوط به name و password وارد می شود که مقادیر به ترتیب در متغیرهای (eid$ و pass$ ذخیره می شوند).
اگر یکی از بخش های eid$ یا pass$ نول باشند؛ سپس پیغام ایمیل یا رمز عبور خود را وارد کنید “fill your email or password” نمایش داده می شود. در غیر این صورت عبارت eid$ و pass$ با مقادیر موجود بررسی می شود. اگر این عبارتها برهم منطبق باشند؛ پیغام “welcome xyz” نشان داده می شود و در غیر این صورت پیام “wrong email or password” (ایمیل یا رمز عبور اشتباه است) نشان داده می شود.