امروز چهارشنبه ۱۳۹۹/۱۲/۱۳

2021/03/03 GMT +3:30

» تعریف و استفاده از متغیر (Variable) در PHP

php-variables

در بحث قبل از بخش آموزش مقدماتی PHP با کلیاتی از این زبان برنامه نویسی وب آشنا شدیم، گفتیم که PHP زبان سمت سرور (Server-side) است و پردازش آن توسط مفسر (Processor) سرور انجام و خروجی آن در نهایت به صورت کدهای HTML از سمت سرور به مرورگر (یا هر واسط کاربری دیگر) ارسال می شود، اکنون در ادامه آموزش های مقدماتی این بخش، می خواهیم با یکی از پرکاربردترین و متداول ترین مفاهیم در بین زبان های برنامه نویسی مختلف و به طور خاص برنامه نویسی PHP یعنی مفهوم متغیر (Variable) آشنا شویم که در نوشتن برنامه های کاربردی نقش کلیدی داشته و به دفعات مختلف در سورس کدهایمان تعریف و استفاده می شود، درک مبحث متغیر به عنوان مبحث پایه و مقدمه آشنایی با مباحث پیشرفته تر و پیچیده تر برنامه نویسی با PHP از اهمیت زیادی برخوردار است و توصیه می شود حتما پس از مطالعه و تمرین کافی به مباحث بعدی رجوع کنیم.

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


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

آشنایی با کاربرد متغیر در PHP


متغیرها در PHP برای نگهداری مقادیر با انواع مختلف (رشته ای (String)، عددی (Int)، آرایه (Array)، بولین (Boolean) و...) به کار می روند، در واقع می توان گفت که متغیرها ظرف (Container) نگهداری اطلاعات مختلف یک برنامه تحت وب هستند که هر کجا نیاز باشد می توانیم به آنها دسترسی داشته و حتی محتوای آنها را تغییر دهیم، برای آشنایی با کاربرد متغیر در PHP یک مثال را با هم مرور می کنیم، در نمونه کد زیر تعداد کالاهای تولید شده توسط یک کارگاه فرضی در طی سه سال در متغیرهای مختلف قرار داده شده است، می خواهیم در خروجی میانگین تولیدات این کارگاه در طی سه سال را محاسبه کنیم:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>وبگو | آشنایی با متغیر در PHP</title>
<!-- Webgoo.ir -->
<style type="text/css">
body {
    font-family: Tahoma, Geneva, sans-serif;
    direction: rtl;
    font-size: 12px;
}
</style>
</head>
<body>
<?php
//تعداد تولیدات در طی سه سال به تفکیک سال
$factory_year_1 = 160;
$factory_year_2 = 185;
$factory_year_3 = 195;

//مجموع تولیدات
$factory_all = $factory_year_1 + $factory_year_2 + $factory_year_3;

//میانگین سه ساله
$factory_average = $factory_all / 3;
echo 'میانگین تولیدات در طی سه سال: ' . $factory_average;
?>
<hr>
متغیر در PHP با علامت $ در ابتدا شروع می شود، متغیر می تواند مقادیر عددی، رشته ای و... داشته باشد.<br>
زبان PHP را در اصطلاح HTML-embedded گویند، یعنی دستورات PHP را می توان در بین تگ های HTML نوشت و خروجی گرفت.
</body>
</html>
پیش نمایش
تحلیل کد بالا چندان سخت نیست، ابتدا سه متغیر با نام های دلخواه factory_year_1، factory_year_2، factory_year_3 با مقادیر عددی تعریف کرده ایم که تعداد تولیدات یک کارگاه فرضی را در خود نگهداری می کنند:
$factory_year_1 = 160;
$factory_year_2 = 185;
$factory_year_3 = 195;
در گام بعد مجموع تولیدات کارگاه را در متغیری با نام factory_all محاسبه کرده ایم:
$factory_all = $factory_year_1 + $factory_year_2 + $factory_year_3;
در نهایت در متغیر factory_average میانگین سه ساله را محاسبه و با دستور echo از آن خروجی گرفته ایم:
$factory_average = $factory_all / 3;
echo 'میانگین تولیدات در طی سه سال: ' . $factory_average;
نکته 1: در خصوص علامت های محاسباتی (جمع، تفریق، ضرب، تقسیم و...) PHP در آموزش های بعدی به صورت جداگانه صحبت خواهیم کرد.
نکته 2: مانند اغلب زبان های برنامه نویسی اگر مقادیر متغیر بین علامت های '' (single quotation) یا "" (double quotation) قرار گیرد، نوع متغیر رشته متنی (String) خواهد بود، به همین ترتیب اگر مقدار متغیر یک عدد باشد نوع آن عددی (Int) تفسیر می شود.
نکته 3: در PHP چند دستور مختلف برای گرفتن خروجی وجود دارد، از جمله print، print_r و echo، در حالت معمول استفاده از echo توصیه می شود (echo از print سریعتر و انعطاف پذیرتر است و چند پارامتر مختلف را می توان با آن به خروجی ارسال کرد، اما print تنها یک پارامتر می پذیرد و در صورت اجرای صحیح، مقادیر 1 را به عنوان نتیجه برمی گرداند).

شیوه های نگارش (Syntax) و استفاده از متغیر در PHP


تعریف و استفاده از متغیرها در PHP مانند هر زبان برنامه نویسی دیگر دارای اصول و شیوه نگارش (Syntax) خاص خود است که در زیر به اختصار آنها را مرور می کنیم:
- متغیر در PHP با علامت $ (dollar) در ابتدا و سپس نام متغیر تعریف و مقدار آن با علامت = اختصاص داده می شود.
- PHP به بزرگ یا کوچک بودن حروف متغیرها حساس است (case-sensitive).
- نام متغیرها در PHP می تواند شامل حروف انگلیسی (a-z A-Z)، اعداد (9-0) و علامت _ (underscore) باشد.
- شروع نام متغیر در PHP نباید با اعداد باشد، به طور مثال این شیوه نامگذاری صحیح نیست:
$1_test = 1;
چند مثال از نحوه صحیح تعریف و استفاده از متغیر در PHP:
$my_var = 'learning PHP is easy!';

$count = 200;

$count_1 = 200;
$count_2 = 300;
$result = $count_1 + $count_2;

$var = 1;
$VAR = 2;

$_php_step = 'PHP Step: ' . 2;
- کدنویسی در زبان PHP معمولا سختگیری های زبان هایی مانند C، C++، Java و... را ندارد، در این زبان ها هنگام تعریف متغیر باید نوع آن را نیز مشخص کنیم (به فرض رشته، عدد، آرایه و...)، اما در PHP این کار به صورت خودکار انجام می شود، در مثال زیر کد اول مربوط به تعریف و استفاده از متغیر در زبان Java و کد دوم مربوط به تعریف و استفاده از همان متغیر در زبان PHP است:
int number;
number = 5;
number = number + 10;
System.out.println(number);

$number = 5;
$number = $number + 10;
echo $number;
- در صورتی که متغیر PHP در علامت های '' (single quotation marks) قرار داده شود، اثر خود را از دست می دهد و مانند یک عبارت متنی در خروجی چاپ خواهد شد، مثال:
<?php
/*
خروجی برابر با:
My Country is $country
*/

$country = 'Iran';
$str = 'My Country is $country';
echo $str;
?>
- برای چاپ مقادیر متغیر در خروجی یا باید آن را در بین علامت های "" (double quotation marks) قرار دهیم یا اینکه با علامت . (نقطه) مقادیر رشته ای داخل '' (single quotation marks) را با متغیر ترکیب نمائیم، مثال:
<?php
/*
خروجی برابر با:
My Country is Iran
*/

$country = 'Iran';
$str = "My Country is $country";
echo $str;
?>

<?php
/*
خروجی برابر با:
My Country is Iran
*/

$country = 'Iran';
$str = 'My Country is ' . $country;
echo $str;
?>

متغیرهای از پیش تعریف شده (Predefined Variables) در PHP


در هنگام تعریف و استفاده از متغیرها در PHP باید دقت داشته باشیم برخی عبارات و نام ها از قبل توسط مفسر PHP رزرو شده اند (Reserved Predefined Variables) و دارای مفهوم و کارکرد خاصی هستند، به طور مثال متغیرهایی که به آنها در اصطلاح Superglobals گفته می شود و در همه قسمت های برنامه در دسترس هستند:
$GLOBALS
$_SERVER
$_GET
$_POST
$_FILES
$_COOKIE
$_SESSION
$_REQUEST
$_ENV
برای مشاهده جزئیات بیشتر در این خصوص می توانیم به راهنمای سایت php.net در آدرس زیر مراجعه کنیم:
http://php.net/manual/en/reserved.variables.php

حدود دسترسی (Scope) متغیرها در PHP


در زبان های برنامه نویسی جهت کنترل دقیق بر روی عناصر مختلف یک برنامه مبحثی تحت عنوان حدود دسترسی یا Scope وجود دارد که به طور خلاصه مشخص کننده این است که یک متغیر، آبجکت و... در کدام قسمت از برنامه در دسترس و قابل استفاده باشد، به طور مثال متغیرها در PHP در حالت عادی به صورت Global تعریف می شوند و در همه قسمت ها در دسترس هستند، البته برای این گفته مثال های نقض وجود دارد، از جمله اینکه متغیر تعریف شده در خارج از یک تابع، درون تابع به صورت معمول قابل استفاده نیست:
<?php
$a = 10;
function myFunc(){
    $b = $a * 2;
    
    return $b;
}
echo myFunc();
?>
در صورت اجرای کد بالا با خطای زیر مواجه خواهیم شد:
Notice: Undefined variable: a
اما اگر نیاز به دسترسی به متغیر خارج از تابع باشد، PHP برای این شیوه دسترسی به متغیرها راهکارهایی در نظر گرفته است، از جمله استفاده از عبارت global در ابتدای نام متغیر:
<?php
$a = 10;
function myFunc(){
    global $a;
    $b = $a * 2;
    
    return $b;
}
echo myFunc();
?>
خروجی کد بالا عدد 20 خواهد بود.
مبحث Scope در PHP جزئیات بیشتری از آنچه گفته شد دارد که در حال حاضر به جهت جلوگیری از پیچیده شدن آموزش ها به همین حد اکتفا می کنیم، در خلال مباحث بعدی به صورت موردی به این موضوع خواهیم پرداخت، جهت آشنایی بیشتر مراجعه به آدرس زیر مفید خواهد بود:
http://php.net/manual/en/language.variables.scope.php

مثال و پیش نمایش آنلاین


برای جمع بندی مطالب این قسمت از آموزش ها، یک مثال کاربردی از مبحث متغیرها در PHP را به همراه پیش نمایش آنلاین آن مرور می کنیم:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>وبگو | شیوه های تعریف و استفاده از متغیر در PHP</title>
<!-- Webgoo.ir -->
<style type="text/css">
body {
    font-family: Tahoma, Geneva, sans-serif;
    direction: rtl;
    font-size: 12px;
}
.ltr {
    display: inline-block;
    direction: ltr;
}
</style>
</head>
<body>
<?php
$_1 = 1;
echo 'چاپ متغیر:[<div class="ltr">$_1</div>]<br>' . $_1;
echo '<hr>';

$name = 'user';
echo 'چاپ متغیر:[<div class="ltr">$name</div>]<br>' . $name;
echo '<hr>';

$section = 'آموزش مقدماتی';
$category = 'PHP';
$lesson = 2;
echo 'چاپ متغیر:[<div class="ltr">$section . \' \' . $category . \' درس \' . $lesson</div>]<br>' . $section . ' ' . $category . ' درس ' . $lesson;
echo '<hr>';

function testScope(){
    $result = null;
    
    if(defined(@$name)){
        $result = 'متغیر <div class="ltr">$name</div> در دسترس است!';
    } else{
        $result = 'متغیر <div class="ltr">$name</div> در دسترس نیست!';
    }
    
    $result .= '<br>';
    $result .= 'نکته: زمانی که در قسمت echo از علامت single quotation marks استفاده می کنیم، برای درج single quotation های دیگر در این قسمت باید با بک اسلش اثر آنها را خنثی کنیم، در غیر اینصورت خطای Syntax خواهیم داشت، در قسمت خروجی این مثال از این شیوه استفاده شده است.';
    $result .= '<hr>';
    
    return $result;
}
echo 'حد دسترسی به متغیر یا Scope:<br>';
echo testScope();

echo 'حساس بودن PHP به بزرگ یا کوچک بودن حروف متغیر:<br>';
$case = 'case';
$Case = 'Case';
echo $case . ' != ' . $Case;
echo '<hr>';

echo 'سورس کدهای این مثال را در برنامه های ویرایشگر PHP مانند برنامه PhpStorm وارد کنید تا به صورت دقیقتری با جزئیات و Syntax ها آشنا شوید.';
?>
</body>
</html>
پیش نمایش آنلاین
نکته: علامت @ (at sign) برای کنترل (Suppress) عدم نمایش خطاهای Notice در خروجی استفاده می شود، به فرض اگر متغیری در کدها به نحوی تعریف یا مقداردهی شده باشد که امکان دارد در هنگام اجرای برنامه آن متغیر یا مقدار فراهم نشود می توانیم برای عدم نمایش خطای Notice توسط مفسر PHP از علامت @ در جایی که پارامتر به کار می رود استفاده کنیم، در مثال بالا برای متغیر name در تابع testScope از این کاراکتر استفاده کرده ایم.
sectionدسته بندی: آموزش مقدماتی » PHP
related مطالب بیشتر:
» حلقه for، foreach و while در PHP
» توابع کار با آرایه در PHP - بخش سوم
» توابع کار با آرایه در PHP - بخش اول
» دستورات شرطی (Conditional Statements) در PHP
» عملگرها (Operators) در PHP
commentنظرات (۲۰ یادداشت برای این مطلب ارسال شده است)
more یادداشت های جدید بر اساس تاریخ ارسال در انتهای یادداشت های موجود نمایش داده می شوند.
نویسنده: حبیب
۰۲:۲۲ ۱۳۹۲/۰۱/۰۸
سلام
چرا به جای ارزش واقعی name$ (مقدار دهی شده) همون name$ رو چاپ میکنه ممنون اگه کمکم کنین
echo ('<font font size ="14" color ="red" >$name</font>');
پاسخ: 
برای چاپ مقدار متغیر یا باید خروجی را بین علامت های "" قرار دهید یا اینکه مطابق نمونه زیر کد را ویرایش کنید:
echo ('<font font size ="14" color ="red" >'.$name.'</font>');
نویسنده: morteza
۲۲:۴۰ ۱۳۹۲/۰۴/۲۰
قشنگه
نویسنده: MASOUD
۱۴:۱۱ ۱۳۹۲/۰۶/۱۲
عالی بود. ببخشید در زبان PHP میشه یا لازم هست از دستور goto استفاده کرد؟
پاسخ: 
استفاده از goto در PHP از نسخه 5.3.0 به بعد امکانپذیر شده، اما همچنان بین توسعه دهنده گان وب کاربرد چندانی ندارد، اگر برنامه خوبی بنویسید که نظم در آن رعایت شده باشد یا به فرض به صورت شی گراء باشد، نیازی به استفاده از این امکان نیست، goto صرفا در موارد خاصی کاربرد دارد (به فرض ایجاد پرش از قسمتی از کد به قسمت دیگر، شکستن سیکل حلقه های تو در تو و...) که این موارد از طریق روش های عادی نیز امکانپذیر است.
نویسنده: علی
۰۳:۲۰ ۱۳۹۲/۰۹/۱۱
سایتتون خیلی خوبه
از خداوند متعال آرزوی سربلندی و سرافرازی برای شما عزیزان دارم
نویسنده: علی
۲۱:۴۱ ۱۳۹۲/۱۱/۰۴
با عرض سلام و خسته نباشید خدمت شما.
اگر ممکنه در مورد جای گذاری یک تابع بین قطعه کد اچ تی ام ال که قراره خودشون داخل یک متغیر قرار بگیرن توضیح بدید. (راهنماییم کنید). روش های مختلفی رو به صورت تجربی امتحان کردم و جواب نداد. در مورد کد زیر راهنمایی میخوام.
$this->head_msg = '<div class="tt-notice" style="width: 800px; margin: 15px 0;"><?php __('buy this theme','them')?></div>';
کد بالا رو میخوام در یک قالب وردپرس استفاده کنم و اون تابع ترجمه باید مقدار ترجمه شده رو بین دو تا تگ div قرار میده و در نهایت با هم میشن مقدار اون متغییر که البته نمی دونم چجوری باید بنویسمش که درست کار کنه چون کار نمیکنه. ببخشید زیاد حرف زدم.
پاسخ: 
هر چند دقیقا متوجه منظورتان نشدیم و با توجه به مرتبط بودن سوال به وردپرس، باید در انجمن های مربوطه سوال می کردید، اما برای قرار دادن تابع در بین خروجی HTML این کد، روش ساده زیر به کار می آید:
$this->head_msg = '<div class="tt-notice" style="width: 800px; margin: 15px 0;">'.yourFunction().'</div>';
همچنین به روش زیر می توانید خروجی را از فیلتر یک تابع عبور دهید:
$this->head_msg = yourFunction('<div class="tt-notice" style="width: 800px; margin: 15px 0;"></div>');
نویسنده: علی
۲۳:۵۱ ۱۳۹۲/۱۱/۰۵
سلام دوباره. خیلی ممنون بابت پاسختون.
میشه گفت منظورم همین بود ولی من این راه رو امتحان کرده بودم ولی بازم جواب نمیداد. من تغییرات زیادی داخل کد دادم که بفهمم مشکل از کجاست ولی یا کار نمیکرد و یا ارور میداد. کاربرد اون متغییر اینه که یه مقداری رو داخل پنل ادمین سایت نمایش میده و اون تابع هم که بین دو تگ اچ تی ام ال وجود داره کار ترجمه رو انجام میده ولی نمیدونم چرا کار نمیده. روش دوم شاید بشه ولی اصلا جالب نیست چون چندیدن تگ اچ تی ام ال بوده و من برای اینکه منظورم رو سریع برسونم اونا رو حذف کردم. البته میدونم مربوط به وردپرسه و اینجا آموزش وردپرس نیست ولی اگر ممکنه راهنماییم کنید.
ممنون و موفق باشید.
پاسخ: 
حل این مشکل بدون تست آنلاین امکانپذیر نیست، هر چند به نظر با یک تابع str_replace مشکلتان حل می شود.
نویسنده: علی
۱۸:۳۵ ۱۳۹۲/۱۱/۰۷
سلام. فکر کنم چون اون بحث زیاد کش دادم جواب ندادید ولی یه چیزی هست که باید بگم. من دقیقا همون مقداری رو که اول به اون متغییر نسبت میدادیم رو برداشتم و اگه یادتون باشه گفتم این متغییر داخل یک صفحه پی اچ پی دیگه توسط یک تابع echo نمایش داده میشه. من اون متغییر اولی رو حذف کردم و به جاش داخل کد دوم متغییری ساختم و اون مقدار رو داخلش ریختم و خلاصه اینجوری جواب داد. ولی اگر میشه راهنمایی کنید چرا اونجوری کار نمیداد و در اصل کار میداد ولی درست کار نمیداد مشکلم با اون تابع ترجمه بود.
پاسخ: 
دوست گرامی، صرف توضیحات کمکی به حل این نوع مشکلات نمی کند، قاعدتا باید امکان تست کدها برایمان فراهم باشد تا بتوانیم دقیق متوجه منظورتان شویم، با توجه به حجم بالای پیام های کاربران امکان تمرکز بر روی نظرات بیش از حد معمول وجود ندارد.
نویسنده: محمودرضا
۰۹:۴۹ ۱۳۹۲/۱۱/۲۸
چگونه می توانم در یک وب سایت لوکال تاریخ و ساعت را مانند آنچه در هدر سایت شما قرار دارد قرار دهم ؟ البته من کد php تاریخ شمسی را دارم
پاسخ: 
لطفا در قسمت جستجوی سایت عبارت "تاریخ" را جستجو کنید، در آموزشی جداگانه در این خصوص بحث شده.
نویسنده: hadi0098
۱۶:۲۸ ۱۳۹۳/۰۶/۳۱
سلام یه سوال داشتم
میخواستم بدونم تفاوت های
include
require
include_once
require_once
چیه؟؟؟
پاسخ: 
تمام موارد بالا برای وارد کردن فایلی دیگر در یک فایل PHP است، اما فرق آنها این است که با require اگر فایل مورد نظر در دسترس نباشد یا به فرض نام آن اشتباه باشد و... مفسر PHP از پردازش ادامه کدها خودداری می کند (require = حالت ضروری) اما برای include مفسر PHP ادامه کدها را پردازش می کند، پسوند once هم یعنی اگر قبلا فایل مورد نظر وارد شده باشد، دستورات مشابه بعدی نادیده گرفته می شوند (به فرض در یک حلقه اگر دستور include_once تکرار شود، تنها یک بار فایل وارد می شود).
نویسنده: علی
۲۳:۴۹ ۱۳۹۴/۰۲/۲۱
با سلام
ببخشید در همه ی مثال هاتون در قسمت استایل از یک فونت به اسم "ج ن وا" استفاده کرده اید. این فونت را من در ویندوز ندیدم!
پاسخ: 
Geneva جزء فونت های پیش فرض سیستم عامل مکینتاش (اپل) است، انتخاب فونت های جایگزین (به جزء فونت اول که اهمیت بیشتری دارد) سلیقه ای و بسته به نیاز است.
نویسنده: غریب
۲۲:۰۷ ۱۳۹۴/۰۶/۰۵
سلام دوست عزیز سوالی داشتم
در بعضی از کدهای پی اچ پی دیدم که ادرس دهیش مثلا اینجوریه
<script type="text/javascript" src="http://sait.ir/99999/999.php?url=88888.ir&sh2=1&sh2=1&sh3=1"></script>
به اینصورت هست که با اضافه کردن متغیرهایی که میبینید که در کد بصورت sh1 و sh2 تعیین شده میشه نتیجه خروجی فایل پی اچ پی رو تغییراتی داد بنده زیاد وارد نیستم و به اصطلاحات هم اشنایی چندانی ندارم
ممنون میشم با زبانی ساده بهم اموزشش بدید اگه اموزشهاتون هم هزینه داره بفرمایید تا تقدیم کنم عزیز خواهش میکنم این موضوع خیلی برام مهمه مدتهاست دنبال این راه میگردم یدنیا ممنون میشم اگه راهنماییم کنید
ایمیل هم گذاشتم اگه خبرم کنید واقعا ممنون میشم موفق باشید
پاسخ: 
یادگیری این موارد نیازمند طی کردن آموزش های مقدماتی و آشنایی با مفاهیمی نظیر متد GET و استفاده ترکیبی از PHP و JavaScript است، متاسفانه فرصت کافی برای ارائه آموزش های اختصاصی در اختیار نداریم!
نویسنده: غریب
۲۱:۴۸ ۱۳۹۴/۰۶/۱۱
سلام دوست عزیز واقعا ممنون مشکلم حل شد خواستم ازتون کلا بابت سایت مفیدتون تشکر کنم چون واقعا بگم برخلاف خیلیها ادعای الکی نمیکنید و با دانش بالاتون ثابت میکنید مرجع قابل اعتمادی هستید در این زمینه بنده با راهنمایی کوچکی که در جوابیتون بود مشکلم رو حل کردم دعای خیر ما پشت و پناهتون یا حق
نویسنده: مسعود
۲۰:۰۶ ۱۳۹۴/۱۲/۱۲
سلام. اگه میشه شی گرایی در php رو هم به صورت مقدماتی اموزش بدین.
پاسخ: 
متاسفانه در کوتاه مدت میسر نیست.
نویسنده: علیرضا
۱۸:۳۴ ۱۳۹۵/۱۲/۲۷
ممنون. برای یادگیری php حتما باید html و css را بلد باشیم؟
پاسخ: 
اجباری نیست اما روش اصولی این است که ابتدا HTML سپس CSS و در نهایت PHP را بیاموزید!
نویسنده: Omid
۲۲:۴۷ ۱۳۹۸/۰۲/۱۷
سلام
من میخوام از متغیرها در دستورهای mysql استفاده کنم مثلا ‌‌:
SELECT name FROM mutable WHERE id=$x
ولی ارور میده و برنامه اجرا نمیشه
پاسخ: 
کافی است متغیر را بین علامت های '' (single quotations) قرار دهید، مثال:
SELECT name FROM mutable WHERE id = '$x'
نکته: در صورت استفاده مستقیم از متغیر در پرس و جو جهت حفظ امنیت دیتابیس حتما باید از توابع ایمن سازی مانند mysqli_real_escape_string استفاده کنید، البته شیوه توصیه شده ایمن سازی پرس و جوها استفاده از Bind و Prepared Statement است که در آموزش های مقدماتی MySQL به طور مفصل توضیح داده شده است.
more لطفا پیش از ارسال یادداشت نکات زیر را مد نظر داشته باشید:
- موارد غیرمرتبط با مباحث آموزش ها را در فرم منوی "تماس با ما" مطرح و پاسخ را از طریق ایمیل دریافت کنید.
- به سوالات کلی، مبهم و مشکلاتی که تلاشی برای رفع آن نکرده باشید پاسخ مختصر داده خواهد شد.
- کدها و اسکریپت های طولانی را ترجیحا در یک صفحه وب آنلاین قرار دهید تا امکان تست و بررسی وجود داشته باشد.
- از درج عناوین تبلیغاتی در فیلدها خودداری کنید، در صورتی که یادداشت تبلیغاتی تشخیص داده شود حذف خواهد شد.
- تمام یادداشت ها بررسی و زمانی جهت پاسخگویی در نظر گرفته می شود، لطفا از طرح سوالات متعدد خودداری کنید.





4 × 9
 refresh

آخرین دیدگاه ها
more برای دسترسی سریع به یادداشت مربوطه می توانید از لینک مطلب در کادر زیر استفاده کنید.
form Reza
در:
من htaccess روی لوکال هاست برای ساخت url تغییر دادم اما حالا با دستور get نمی تونم متود ارسالی رو بگیرم چکار کنم؟
۱۳۹۹/۱۲/۱۳

form امیرحسین
در:
سلام استاد وقت بخیر، من یه فرمی ساختم که حالت پیشفرضش هیچ فایلی انتخاب نشده، ولی میخوام با جاوا اسکریپت یکاری کنم که حالت...
۱۳۹۹/۱۲/۱۰

form حسین فتحی
در:
سلام قربان... بنده برای افتتاح حساب در پاییر اقدام کردم. در بخشی از فرم ثبت نام سئوال کرده کشور IP شما چیست؟ و نمیدونم برای...
۱۳۹۹/۱۲/۰۹

form negar
در:
سلام من یه سوال داشتم و نمیدونم که جای درستی رو برای پرسشش انتخاب کردم یا نه ولی ممنون میشم اگه میدونید کمکم کنید در...
۱۳۹۹/۱۲/۰۷

form Mahtab
در:
سلام وقت بخیر ببخشید من چجوری یه صدا یا آهنگی رو تو وبم پست کنم که به صورتی باشه که بازدیدکننده ها همونجا پلی...
۱۳۹۹/۱۲/۰۶

form ابوالفضل
در:
سلام من ۱۰ تصویر زمینه دارم میخام با هر بار رفرش به صورت رندوم عوض بشه ولی بجای پی اچ پی با جاوا اسکریپت باشه....
۱۳۹۹/۱۲/۰۵

form شیدا
در:
با سلام خدمت شما منم یک سوالی داشتم خواستم بدونم این دستورات در php.ini به چه دردی میخورن این دوتا در اولویت هستن ،...
۱۳۹۹/۱۲/۰۴

form ساناز
در:
بخوام با دستور ایف بگم که اکه عدد بزرگتر از ۱۲بود نوشته قبول رو چاپ کنه و رنگ متن قبول هم سبز باشه چجوریه
۱۳۹۹/۱۲/۰۲

form حسین
در:
ببخشید من وقتی مطالب جدید به وبلاگم اضافه می کنم مطالب قبلی به پایین وبلاگ می روند و مطالب جدید به بالای وبلاگ می روند....
۱۳۹۹/۱۱/۳۰

form حسام
در:
توی وبلاگ این گل ریزان نمی اید می شود مشکل ان را رفع کنید
۱۳۹۹/۱۱/۲۵

form آرمان
در:
سلام در وردپرس اگر بخواهیم چیزی را مخفی کنیم می توان از این روش استفاده کرد؟
۱۳۹۹/۱۱/۲۱

form امیرحسین
در:
سلام استاد وقت بخیر تابع mb_strlen در بعضی هاست ها پشتیبانی نمیشه و من یک کلکی بهش زدم و از تابع زیر استفاده میکنم...
۱۳۹۹/۱۱/۱۸

form Mohamad
در:
سلام من میخام برای سایت خودم لینک بسازم که با کلیک کردن روی ان وارد سایت من شوند چه طوری این کار را کنم
۱۳۹۹/۱۱/۱۷

form سجاد
در:
سلام میشه از دوتا دیتابیس با یک کوئری سلکت بگیریم
۱۳۹۹/۱۱/۱۶

form parsa
در:
سلام من در حال اموزش اچ تی ام ال و سی اس اس هستم من برای اموزش یک سایت نوشتم مشکل این هست که وقتی...
۱۳۹۹/۱۱/۱۵
form Mh
در:
سلام من وبلاگم مشکلی پیدا کرده جای مطالب ورود به ادامه مطالب با خطایی مواجه میشم این خطا:
۱۳۹۹/۱۱/۱۵
form امیرحسین
در:
سلام استاد عزیز وقت بخیر من یه درخواستی داشتم که تو هیچ جا همچین اموزشی رو ندادن اگه ممکنه شما این اموزش رو تو...
۱۳۹۹/۱۱/۱۴
  در انتظار بررسی: ۰
 پاسخگویی به سوالات ممکن است تا 24 ساعت زمان ببرد.