شنبه ۲۲ شهریور ۱۴۰۴

Saturday, September 13, 2025 GMT +3:30

دستورات شرطی (Conditional Statements) در PHP

php-else-if

دستورات شرطی (Conditional Statments) یکی از پرکاربردترین مفاهیم در دنیای زبان های برنامه نویسی و از جمله در برنامه نویسی وب و PHP به شمار می روند، در یک تعریف ساده با این دستورات برقرار یا برقرار نبودن شرطی را در یک مقایسه بررسی می کنیم و بر اساس مثبت (true) یا منفی (false) بودن پاسخ، مطابق با خواست و نیازمان در دو راهی های برنامه ها تصمیم گرفته و فرآیندی را انجام می دهیم، به طور مثال در دنیای واقعی می گوییم اگر تمرین کافی داشته باشیم موفق می شویم و در غیر اینصورت شکست خواهیم خورد یا اگر هوا کاملا صاف و آفتابی باشد به کوهنوردی می رویم در غیر اینصورت اگر هوا بارانی نبود به جنگل خواهیم رفت و در غیر اینصورت در خانه خواهیم ماند!، البته تطبیق دقیق دستورات برنامه نویسی با رویدادهای دنیای واقعی خالی از اشکال نیست اما برای شروع بد نیست بدانیم که مشابه این نوع ارزیابی ها در برنامه نویسی وب و به طور خاص در PHP با دستورات شرطی شامل if، else و elseif صورت می گیرد.

دستور شرطی if در PHP


نخستین عبارت کلیدی که در دستورات شرطی استفاده می شود "اگر" است که در برنامه نویسی به صورت "if" به کار می رود، با دستور if درستی یا نادرستی پاسخ ارزیابی شرطی را در مقایسه بررسی می کنیم، به طور مثال اگر متغیری با نام status برای تعیین وضعیت ثبت نام کاربران داشته باشیم و بخواهیم بررسی کنیم که آیا متغیر status برابر 1 است یا خیر، به صورت ساده می نویسیم: اگر (if) متغیر status برابر با 1 باشد (رابطه true باشد) دستورات بین {} را اجرا کن:
<?php
$status = 1;
if($status == 1) {
    echo "کاربر گرامی شما در سایت ثبت نام کرده اید!";
}
?>
بر اساس مثال بالا مقدار پیش فرض متغیر status برابر 1 تعریف شده و بررسی رابطه  if درست (true) خواهد بود در نتیجه دستورات بین علامت های {} اجرا خواهند شد، اما در مثال زیر بررسی رابطه if مقادیر نادرست (false) خواهد داشت، چرا که وضعیت ثبت نام کاربر 1 است اما در ارزیابی گفته ایم که اگر وضعیت او 1 نبود دستورات را انجام بدهد.
<?php
$status = 1;
if($status != 1) {
    echo "کاربر گرامی شما هنوز در سایت ثبت نام نکرده اید!";
}
?>
همانطور که در بحث عملگرها (Operators) در PHP گفتیم، عملگر == یعنی دو طرف رابطه برابر باشند و عملگر =! یعنی دو طرف رابطه برابر نباشند، در نمونه کد بالا دستورات بین علامت های {} اجرا نخواهند شد چرا که شرط آن برقرار نیست (متغیر status برابر 1 است و مقایسه نابرابر بودن آن false خواهد بود).

دستور شرطی else در PHP


شاید از خود بپرسیم اگر شرط if درست (true) نشد آنوقت تکلیف چیست؟! برنامه نویس خوب باید حساب همه چیز را کرده باشد و این چیزی است که شکل پیشرفته آن را هوش مصنوعی می نامند، پس باید شرایط بعد از برقرار نبودن رابطه if را هم تعریف کنیم، برای این کار از دستور شرطی else به معنی "در غیر اینصورت" استفاده می کنیم.
else در واقع جایگزینی برای if است یعنی اگر رابطه if درست نباشد (false باشد)، آنگاه مقادیر بین علامت های {} در else اجرا می شود، مثال زیر گویا است.
<?php
$status = 1;
if($status == 0) {
    echo "کاربر گرامی شما هنوز در سایت ثبت نام نکرده اید!";
} else{
    echo "کاربر گرامی شما در سایت ثبت نام کرده اید!";    
}
?>
نمونه کد بالا به صورت ساده اینطور تفسیر می شود:
متغیر status در خط اول برابر 1 تعریف شده است، آنگاه در دستور if برابر بودن status با 0 بررسی می شود، اگر رابطه درست باشد (یعنی کاربر هنوز در سایت ثبت نام نکرده باشد)، مقادیر بین {} در بررسی if اجرا می شود و نوبت به else نمی رسد، اما اگر کاربر قبلا در سایت ثبت نام کرده باشد، ارزیابی رابطه if اول صحیح نیست (چون رابطه می گوید اگر status برابر 0 باشد در حالی که مقدار پیش فرض status را برابر 1 تنظیم کرده ایم) در نتیجه نوبت اجرای دستور else است که پیام "کاربر گرامی شما در سایت ثبت نام کرده اید!" را نمایش می دهد.
مثالی دیگر:
<?php
$country = "ایران";
$state = "شمال";
if($country != '' && $state != ''){
    echo "کاربر گرامی شما از کشور $country و منطقه $state هستید.";
} else{
    echo "کاربر گرامی لطفا نام کشور و منطقه را انتخاب نمائید!";
}
?>
نتیجه اجرای نمونه کد بالا به شکل زیر خواهد بود:
کاربر گرامی شما از کشور ایران و منطقه شمال هستید.
برای بررسی بیشتر کافی است کد بالا را در لوکال هاست یا سرور در یک فایل PHP درج کرده و در مرورگر فراخوانی و اجرا کنیم تا نتیجه کار را ببینیم.

دستور شرطی elseif در PHP


دستور elseif به معنی "در غیر اینصورت اگر" مرحله ای مابین دستور if و else است، به فرض اگر بخواهیم قبل از خاتمه دادن به شرط if با دستور else، چند ارزیابی دیگر را نیز انجام دهیم از elseif استفاده می کنیم، هر شرط elseif با نادرست شدن ارزیابی شرط if (یا elseif) قبل از خود بررسی می شود، اگر نتیجه بررسی شرط elseif نادرست و false شود قاعدتا مفسر PHP از آن عبور کرده و ادامه کدها پردازش می شوند، به طور مثال:
<?php
$num = 1000;
$max = 2000;
if($num > $max) {
    echo "متغیر num از max بزرگتر است!";
} elseif($num == $max) {
    echo "متغیر num با max برابر است!";
} else{
    echo "متغیر num از max کوچکتر است!";
}
?>
خروجی:
متغیر num از max کوچکتر است!
در نمونه کد بالا بر اساس متغیرهای تعریف شده نتیجه ارزیابی دستورات if و elseif نادرست خواهد بود و در نتیجه بخش سوم یعنی else اجرا می شود، در مثال زیر کد را به نحوی تغییر داده ایم تا قسمت دوم یعنی elseif اجرا شود:
<?php
$num = 2000;
$max = 2000;
if($num > $max) {
    echo "متغیر num از max بزرگتر است!";
} elseif($num == $max) {
    echo "متغیر num با max برابر است!";
} else{
    echo "متغیر num از max کوچکتر است!";
}
?>
خروجی:
متغیر num با max برابر است!
نکته مهم اینکه از دستور elseif می توانیم به هر تعداد که بخواهیم مابین if و else استفاده کنیم، مفسر PHP به ترتیب از بالا به پائین مورد به مورد برقرار بودن رابطه آنها را بررسی کرده و اگر یکی از ارزیابی ها درست (true) باشد مقادیر داخل علامت های {} اجرا شده و سلسله دستورات شرطی در همان نقطه خاتمه پیدا می کند.
<?php
$a = true;
$b = false;
$c = null;
if($a == false) {
    echo '$a == false';
} elseif($b == true){
    echo '$b == true';
} elseif($c != null){
    echo '$c != null';
} elseif($a == false || $b == false){
    echo '$a == false || $b == false';
} else{
    echo 'else{}';
}
?>
قاعدتا با توضیحات ارائه شده حدس نتیجه اجرای این کد چندان سخت نیست و آخرین elseif اجرا خواهد شد چرا که متغییر b برابر false مقداردهی شده است (در غیر اینصورت اگر متغیر a برابر با true یا متغیر b برابر با false باشد).

مختصرنویسی با عملگرهای سه گانه (Ternary Operators) در PHP


در برنامه نویسی پروژه های کاربردی به دلایل مختلف ممکن است نیاز به مختصرنویسی دستورات شرطی elseif ،if و else باشد که در پاسخ به این نیاز در اغلب زبان ها این هدف با عملگرهای سه گانه یا Ternary Operators تحقق می یابد، منظور از عملگرهای سه گانه ترکیب مقایسه با کاراکترهای ? و : است، در شیوه مختصرنویسی علامت ? جایگزین if و علامت : جایگزین else می شود، به طور مثال اگر دستور شرطی در حالت عادی به شکل زیر باشد:
<?php
$point = 14;
$num = 12;
if($point < $num) {
    echo 'if';
} else{
    echo 'else';
}
?>
شیوه مختصرنویسی آن به صورت زیر خواهد بود:
<?php
$point = 14;
$num = 12;
echo ($point < $num) ? 'if' : 'else';
?>
با ترکیب و توسعه این روش حتی می توانیم دستور شرطی else if را نیز به صورت مختصرنویسی بنویسیم، به طور مثال:
<?php
$point = 14;
$num = 14;
echo ($point < $num) ? 'if' : ($point <= $num) ? 'elseif' : 'else';
?>
استفاده از شیوه مختصر نویسی در برنامه نویسی دلخواه است و معمولا برای نوشتن شرط های ساده از آن استفاده می کنیم.
نکته: مختصر نویسی در زبان جاوا اسکریپت با برنامه نویسی PHP از لحاظ Syntax اندکی متفاوت است.
در جاوا اسکریپت:
(point < num) ? alert('if') : (point <= num) ? alert('else if') : alert('else');
در PHP:
echo ($point < $num) ? 'if' : ($point <= $num) ? 'elseif' : 'else';
دسته بندی: آموزش مقدماتی » PHP
related مطالب بیشتر:
عملگرها (Operators) در PHP
تعریف و استفاده از متغیر (Variable) در PHP
توابع کار با آرایه در PHP - بخش اول
آموزش برنامه نویسی وب با PHP
توابع کار با آرایه در PHP - بخش دوم
دیدگاه
more ۷۸ دیدگاه برای این مطلب ارسال شده است.
more چینش دیدگاه ها به ترتیب از جدیدترین به قدیمی ترین است.
علی
۲۲:۲۵ ۱۴۰۱/۰۴/۱۴
سلام در قطعه کد زیر طرف نادرست اجرا می شود حتما اگر رمز درست باشد چرا میشه راهنمایی کنید لطفاً؟
$a1 =  htmlspecialchars($_POST ['a1']) ;
$password10 = htmlspecialchars($_POST ['password10']) ;

$password2 = file_get_contents ("$a1\passwordddd $a1.txt") ;
$password10 ; $password2 ;
if ($password10 == $password2 ) {
echo "سلام" ;
} else {
echo "رمز اشتباه است" ;
}
کدها باید در برنامه شما تست و خطایابی شوند چون بخشی از فرایند از اطلاعات فایل متنی استخراج می شود، همچنین خط 5:
$password10 ; $password2 ;
را حذف و مجدد امتحان کنید ببینید تغییری می کند.
برای مشاهده خروجی متغیرها و خطایابی حین اجرا می توانید از var_dump استفاده کنید به فرض:
var_dump($password2);
m.b
۲۰:۵۷ ۱۴۰۰/۱۱/۱۷
سلام مجدد و عرض خسته نباشید من یک فرم جهت ثبت نام ویزیت نوشتم زمانی که صفحه که توش فرم رو نوشتم باز می شه خود بخود بدون پر شدن مقادیر خالی وارد دیتابیس میشه و ایدی جدید ثبت میشه میخوام بدونم چه شرطی را با توجه به سورس هام بنویسم که زمانی که صفحه باز میشه و فرم ها خالی هستند به دیتابیس چیزی ارسال نشه. ممنون
<div style="white:100%; ;margin-top:0px;">
<div class="row" style="background: white;margin-top:0px;">
<div class="col-10 col-s-12" style=" height:auto;margin-bottom:2%;margin-top:0px;border:2px solid #9fcdff">
<h5 Style=" color:blue;;text-align:right;;margin-right:2%;margin-top:0px">جهت اضافه نمودن نوبت جدید فرم زیر را پر نمایید </h5><hr style="margin-top:0px"></hr>
<form action="#"method="post" Style=" ">
<label class="register"style="color:blue;background-color:white;" >نام*</label>
<input class="register" type="text" name="firstname"required style="margin-right:100px;margin-top:2px;border:2px solid #696969;border-radius:5px;"placeholder="نام بیمار">
</br>
<label class="register"style="color:blue;background-color:white;margin-top:10px;
" >
نام خانوادگی*</label>
<input class="register" type="text" name="lastname"required style="margin-right: 36px;margin-top:2px;border:2px solid #696969;border-radius:5px"placeholder="نام خانوادگی بیمار ">
</br>
<label class="register" style="color:blue;background-color:white;margin-top:10px;"> کد ملی*</label>
<input class="register" type="number" name="nationalcode"required style="margin-right: 71px;margin-top:2px;border:2px solid #696969;border-radius:5px"placeholder="کد ملی بیمار">
</br>
<label class="register"style="color:blue;background-color:white;margin-top:10px" > موبایل*</label>
<input class="register" type="number" name="mobile"required style="margin-right: 75px;margin-top:2px;border:2px solid #696969;border-radius:5px"placeholder="شماره موبایل بیمار">
</br>
<label class="register"style="color:blue;background-color:white;margin-top:10px">تاریخ* </label>
<input class="register" type="text" name="date" required style="margin-right: 85px;margin-top:2px;border:2px solid #696969;border-radius:5px"placeholder="تاریخ ویزیت">
</br>
<label class="register"style="color:blue;background-color:white;margin-top:10px" > توضیحات</label>
<input class="register" type="text" name="day" style="margin-right: 62px;margin-top:2px;border:2px solid #696969;border-radius:5px"placeholder="یادداشت ">
</br>
<label class="register" style="color:blue;background-color:white;margin-top:10px;"> روز*</label>
<select class="register" type="number" name="day"laceholder=""required style="margin-right:100px;width:170px;border:2px solid #696969;border-radius:5px;margin-top:2px">
<option value="شنبه">شنبه</option>
<option value="دوشنبه">دوشنبه</option>
<option value="چهارشنبه">چهارشنبه</option>
</select>
</br>
<label class="register"style="color:blue;background-color:white;margin-top:10px"> زمان *</label>
<select class="register" type="number" name="time"laceholder=""required style="margin-right: 85px;width:170px;border:2px solid #696969;border-radius:5px;margin-top:2px">
<option value="16:00">16:00</option>
<option value="16:10">16:10</option>
<option value="16:20">16:20</option>
<option value="16:30">16:30</option>
<option value="16:40">16:40</option>
<option value="16:50">16:50</option>
<option value="17:00">17:00</option>
<option value="17:10">17:10</option>
<option value="17:20">17:20</option>
<option value="17:30">17:30</option>
<option value="17:40">17:40</option>
<option value="17:50">17:50</option>
<option value="18:00">18:00</option>
<option value="18:10">18:10</option>
<option value="18:20">18:20</option>
<option value="18:30">18:30</option>
<option value="18:40">18:40</option>
<option value="18:50">18:50</option>
<option value="19:00">19:00</option>
<option value="19:10">19:10</option>
<option value="19:20">19:20</option>
<option value="19:30">19:30</option>
<option value="19:40">19:40</option>
<option value="19:50">19:50</option>
<option value="20:00">20:00</option>
</select>
</br>
<label class="register" style="color:blue;background-color:white;margin-top:10px"> رزرو*</label>
<select class="register" type="number" name="rezerv"laceholder=""required style="margin-right:97px;width:170px;border:2px solid #696969;border-radius:5px;margin-top:2px">
<option value="رزروشده">رزرو شده</option>
<option value="رزرونشده">رزرو نشده</option>
</select>
</br>
<label class="register"style="color:blue;background-color:white;margin-top:10px"> روش پرداخت * </label>
<select class="register" type="number" name="paymentstatus"laceholder=""required style="margin-right:30px;width:170px;margin-top:2px;border:2px solid #696969;border-radius:5px">
<option value="پرداخت در مطب">پرداخت در مطب</option>
<option value="آنلاین">آنلاین</option>
</select>
</br>
<label class="register"style="color:blue;background-color:white;margin-top:10px"> نحوه ویزیت *</label>
<select class="register" type="number" name="view"laceholder=""required style="margin-right: 38px;width:170px;border:2px solid #696969;border-radius:5px;margin-top:2px">
<option value="مراجعه حضوری به مطب">مراجعه حضوری به مطب</option>
<option value="تماس تصویری با واتس آپ">تماس تصویری با واتس آپ</option>
</select>
</br>
<label class="register"style="color:blue;background-color:white;margin-top:10px"> نوع درخواست </label>
<select class="register" type="number" name="typeofapplication"laceholder=""required style="margin-right: 38px;width:170px;border:2px solid #696969;border-radius:5px;margin-top:2px">
<option value=" "</option>
<option value="آندوسکوپی">آندوسکوپی</option>
<option value="کولونوسکپی">کولونوسکپی</option>
<option value="آندوسکوپی و کولونوسکپی">آندوسکوپی و کولونوسکپی</option>
</select>
</br>
<button type="submit" name="send" style="width:150px;background:green;color: white;height:35px;border-radius:10px;margin-top: 5px">ثبت نوبت جدید</button>
<button type="reset" name="reset" style="width:150px;background:red;color: white;height:35px;border-radius:10px;margin-top: 5px" onclick="location='../dashbord/add-turn.php'"> پاک کردن فرم</button> </form>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>


</div>
</div>
</div>
<?php
$con=mysqli_connect("localhost","","","");
// Check connection
if (mysqli_connect_errno()){
echo "به دلیل مشکل زیر، اتصال برقرار نشد : <br />" . mysqli_connect_error();
}

$sql="INSERT INTO patients (firstname,lastname,nationalcode,mobile,date,day,time,rezerv,description,paymentstatus,view,registrationtime,ip,typeofapplication )
VALUES ('$_POST[firstname]', '$_POST[lastname]', '$_POST[nationalcode]', '$_POST[mobile]', '$_POST[date]', '$_POST[day]', '$_POST[time]', '$_POST[rezerv]', '$_POST[description]', '$_POST[paymentstatus]', '$_POST[view]', now(), '$_SERVER[REMOTE_ADDR]', '$_POST[typeofapplication]')";

if (!mysqli_query($con,$sql)){
die('خطای زیر رخ داده است : <br />' . mysqli_error($con));
}
echo "<script> alert('اطلاعات با موفقیت ثبت شد')</script>";
mysqli_close($con);
?>
</div>
برای جلوگیری از اتصال خودکار به دیتابیس قبل از ارسال فرم می توانید از isset استفاده کنید:
<?php
if(isset($_POST['send'])){
$con=mysqli_connect("localhost","","","");
.
.
.
mysqli_close($con);
}
?>
نکته مهم: در کار با پایگاه داده برای استفاده از پارامترهایی که از سمت کابر و فرم HTML ارسال می شوند باید الزما از یکی از روش های ایمن سازی استفاده کنیم، در غیر اینصورت دیتابیس با خطر جدی هک شدن و نفوذ مواجه خواهد بود، لطفا در خصوص استفاده از تابع mysqli_real_escape_string جستجو کنید.
هستی
۱۹:۲۸ ۱۴۰۰/۰۸/۱۱
سلام وقت بخیر اگر برنامه ای بخوام بنویسم که بین دو شرط باشه باید به چه صورت بنویس؟ مثلا اگر سن ورودی بین 10 تا 20 باشد نمایش دهد نوجوان.
این برنامه را هم با دستور if else و هم دستور switch case می توانیم بنویسیم:
<?php
$age = 25;

if($age >= 20 && $age < 30){
echo 'نوجوان';
} elseif($age >= 20 && $age < 30){
echo 'جوان';
}

switch(true){
case ($age >= 20 && $age < 30):
echo 'نوجوان';
break;
case ($age >= 30 && $age < 40):
echo 'جوان';
break;
}
?>
ایمان
۲۲:۵۴ ۱۴۰۰/۰۶/۱۲
سلام.
ببخشید من توی دیتابیس یه ستون دارم به نام ok میخوام یه دستور شرطی بنویسم که اگه 1 بود یه پیغام نشون بده
if($ok==1){ echo 'ok';else{ echo 'no'; } }
ولی متغیر ok رو نمیشناسه.
چجوری باید تعریفش کنم؟ مثل متغیر id رفتم ولی شناسایی نشد.
$ok = $_GET['ok'];
برای استخراج مقادیر ستون های دیتابیس باید پرس و جوی MySQL بنویسید و در حلقه while مقادیر را به متغیر نسبت دهید، آموزش و نمونه کد در بخش مقدماتی MySQL وجود دارد، همچنین نحوه نوشتن دستور شرطی شما خطای Syntax دارد و قسمت else اشتباها داخل قسمت if نوشته شده است.
ساناز
۱۷:۵۲ ۱۳۹۹/۱۲/۰۲
بخوام با دستور ایف بگم که اکه عدد بزرگتر از ۱۲بود نوشته قبول رو چاپ کنه و رنگ متن قبول هم سبز باشه چجوریه
می توانید از نمونه کد زیر استفاده کنید:
<?php
$number = 13;
if($number > 12) {
echo '<span style="color: green;">قبول</span>';
} else {
echo '<span style="color: red;">مردود</span>';
}
?>
شیدا
۱۷:۰۵ ۱۳۹۹/۱۱/۰۳
سلام برای اینکه بتونم جدول ضرب 1 در 5 رو بنویسم چه کدهایی باید بنویسم؟
لطفا یک اسکرین شات از نتیجه مد نظرتان ارسال کنید تا امکان راهنمایی وجود داشته باشد.
حسین
۱۸:۱۶ ۱۳۹۹/۰۱/۳۱
سلام خسته نباشین یه سوال داشتم میخام یه صفحه وب درست کنم به زبان php که از یه لیست شکل های مثلث دایره مستطیل مربع لوزی انتخاب شه بعد با دریافت مقادیر مناسب مساحت محیط حجمشو حساب کنه میتونید راهنمایی کنید؟؟؟
زبان PHP برای توسعه وب است و تا آنجا که اطلاع داریم توابع آن برای اینگونه موارد مناسب نیستند، در واقع تنها ارتفاع (height) و عرض (width) تصویر برای مفسر PHP قابل شناسایی است که شامل مربع و مستطیل می شود، برای دریافت ابعاد از تابع getimagesize استفاده می کنیم و پس از به دست آوردن اعداد مربوطه (ارتفاع تصویر معادل عرض ریاضی و عرض تصویر معادل طول می شود!) می توانیم در فرمول ریاضی مورد نظر هر شی جایگزین نمائیم.
https://www.php.net/manual/en/function.getimagesize.php
فاطمه
۱۱:۴۷ ۱۳۹۹/۰۱/۲۹
سلام. میخوام یه برنامه بنویسم که یک عدد دریافت کنه و 3 تا شرط رو بررسی کنه. اگه بین 17 تا 20 بود بگه عالی اگه بین 12 تا 17 بود بگه خوب و اگه بین 0 تا 12 بود بگه بد. ممکنه بگید چطوری بنویسمش؟
کد پایه برای نوشتن این برنامه به صورت نمونه زیر است:
<?php
$var = 18;
if($var <= 20 && $var >= 17){
echo 'عالی';
} else if($var < 17 && $var > 12){
echo 'خوب';
} else if($var <= 12){
echo 'بد';
}
?>
ورودی برنامه بسته به نیاز می تواند به صورت مستقیم یا از طریق فرم های وب و موارد دیگر باشد که مشخص نکرده اید.
مهدی فراهانی
۱۲:۰۸ ۱۳۹۸/۰۵/۲۳
در آکولاد if، می خواهم پس از صحت پرداخت کاربر، کاربر به یک صفحه html برای دانلود فایل لینک شود. چه دستوری در حلقه if و else بنویسم؟
ابتدا باید دید در کدهای شما "صحت پرداخت" به چه شکلی قابل تشخیص است، در مرحله دوم باید دید صفحه دانلود مد نظرتان به چه شکلی است، اگر نتیجه پرداخت در قالب یک متغیر قابل بررسی بوده و صرفا نیاز به ایجاد لینک ثابت باشد، نمونه کد زیر کافی خواهد بود:
<?php
$pay_status = 1;
if($pay_status == 0) {
echo "پرداخت ناموق!";
} else{
echo "<a href="#" title="لينک به صفحه دانلود">Download Page</a>;
}
?>
در غیر اینصورت متناسب با ساختار موجود برنامه باید کدها بررسی و برنامه نویسی شود.
عالیا
۱۷:۱۳ ۱۳۹۷/۰۷/۲۷
سلام
من برنامه نویسی بلد نیستم ممنون میشم کمکم کنید
ما دو تا کد داریم مثلا کد الف و ب و می خوایم اگر بازدید کننده با کامپیوتر وارد سایت شد کد الف و اگر با موبایل وارد شد کد ب نمایش داده بشه
ممنون میشم برام ایمیل کنید
می توانید از نمونه کد زیر برای شناسایی دستگاه های موبایل استفاده کنید:
<?php
function isMobileDevice(){
$mobile_user_agent = array(
'/android/i' => 'Android',
'/iphone/i' => 'iPhone',
'/ipod/i' => 'iPod',
'/ipad/i' => 'iPad',
'/blackberry/i' => 'BlackBerry',
'/webos/i' => 'Mobile'
);

foreach($mobile_user_agent as $key => $value){
if(preg_match($key, $_SERVER['HTTP_USER_AGENT'])){
return true;
}
}

return false;
}

if(isMobileDevice()){
//کدهای موبایل
} else{
//کدهای دسکتاپ
}
?>
فائزه
۱۵:۳۸ ۱۳۹۷/۰۲/۱۷
سلام وقت بخیر
من یه مسئله دارم بلد نیستم حل کنم میتونید برام حل کنید ممنون میشم یک عدد را بگیر اگر بزرگتر از 90 بود نماد A اگر بین 80 تا 90 بود B را نشان بده اگر بین 70 تا 80 بود C اگر بین 60 تا 70 بود D در غیر اینصورت E را نشان بدهد
نمونه کد زیر راه حل این مسئله است:
<?php
$num = 95;
$sign = 'E';

if($num > 90){
$sign = 'A';
} elseif($num > 80 && $num <= 90){
$sign = 'B';
} elseif($num > 70 && $num <= 80){
$sign = 'C';
} elseif($num >= 60 && $num <= 70){
$sign = 'D';
} else {
$sign = 'E';
}

echo $sign;
?>
milad
۲۱:۱۱ ۱۳۹۷/۰۲/۱۳
ممنون از وقتی که گذاشتید
milad
۲۰:۴۹ ۱۳۹۷/۰۲/۱۰
سلام، وقت بخیر، مطلبتون عالی بود، من یه مشکلی دارم اینکه میخوام اگر این متغیر
<?php the_field('seat'); ?> 
اگر مقدار داشت یه متنی چاپ بشه و اگر نداشت چیزی چاپ نشه
ممنون میشم راهنمایی کنید
به نظر مشکل مربوط به وردپرس است، در این صورت لطفا به لینک زیر مراجعه کنید:
https://www.advancedcustomfields.com/resources/get_field
Safora
۱۲:۵۳ ۱۳۹۷/۰۲/۰۴
سلام با دستور if ساده چطور میشه برنامه ای نوشت که با وارد کردن عدد روز مربوط به اون رو نمایش بده من با switch نوشتم اما با if ساده نمیتونم
استفاده از switch یا دستورات شرطی بستگی به شرایط و نیاز برنامه دارد، معمولا در مواقعی که صرفا یک پارامتر بررسی می شود بهتر است از switch استفاده کنیم، به هر صورت با توجه به توضیحات ساختار شرطی زیر کاربرد دارد:
<?php
$day = 1;

if($day == 0){
echo 'شنبه';
} elseif($day == 1) {
echo 'یکشنبه';
} elseif($day == 2) {
echo 'دوشنبه';
} elseif($day == 3) {
echo 'سه شنبه';
} elseif($day == 4) {
echo 'چهارشنبه';
} elseif($day == 5) {
echo 'پنجشنبه';
} elseif($day == 6) {
echo 'جمعه';
} else {
echo 'خطا!';
}
?>
Fardiiw
۱۶:۱۳ ۱۳۹۷/۰۱/۰۶
سلام ببخشید دوباره مزاحم شدم
من این کد رو نوشتم
<?php
header("Content-Type: application/json; charset=UTF-8");
$conn = new mysqli("localhost", "whitelil_irancell", "password","whitelil_irancell");
$url = $_SERVER["REQUEST_URI"];
$url=$_GET['code'];
if($url==null)
{
echo 'لطفا ایدی دسته را بفرستید';
}
else
{
mysqli_query($conn,"SET CHARSET UTF8");
$result = $conn->query("SELECT * from Security where Security_code='$url' order by id desc ");
$outp = array();
while($row = $result->fetch_assoc())
$outp[]=$row;
echo json_encode($outp);
}
?>
با این کد عدد تصادفی رو از سرور میخونه و نمایشش میده .
الان نمیدونم وقتی عددی که از php اول به این صفحه فرستاده شده اگر در دیتابیس وجود داشته باشد به شرط مثلا انجام شود .
لطفا راهنمایی کنید
ظاهرا در بخش تعریف متغیر اشتباهی وجود دارد:
$url = $_SERVER["REQUEST_URI"];
$url=$_GET['code'];
در این قسمت یک متغیر را به دو صورت بلافاصله پشت سر هم مقداردهی کرده اید که قاعدتا فقط حالت آخر عمل خواهد کرد، به هر حال می توانید پس از اجرای پرس و جو بررسی کنید اگر ردیفی با کد ارسال شده مطابق داشت (نتیجه 1 یا بیشتر از 1 بود) یعنی کاربر قبلا در فایل اصلی بوده و به صفحه فعلی ارجاع داده شده است، به فرض:
$result = $conn->query("SELECT COUNT(*) FROM Security where Security_code = '$code_from_url' ORDER BY id DESC");
$outp = array();
while($row = $result->fetch_assoc()){
$outp[] = $row;
}
if($outp[0] >= 1){
//ok
} else{
//error
}
more لطفا پیش از ارسال دیدگاه نکات زیر را مد نظر داشته باشید:
- به سوالات کلی، زمانبر، مبهم و مشکلاتی که تلاشی برای رفع آنها نکرده باشید پاسخ مختصر داده شده یا به بخش برنامه نویسی اختصاصی ارجاع داده می شوند.
- کدها و اسکریپت های طولانی را ترجیحا در یک صفحه وب آنلاین یا به صورت حساب موقت و آزمایشی قرار دهید تا امکان بررسی دقیق مشکل و خطایابی میسر باشد.
- تمام دیدگاه های ارسالی خوانده شده و برای هر کاربر مدت زمان لازم جهت پاسخگویی در نظر گرفته می شود، لطفا از طرح سوالات متعدد در بازه زمانی کوتاه خودداری کنید.



 refresh
10 × 10
2 × 2
20 × 20
=