i
در حال برنامه نویسی و آماده سازی نسخه جدید «وبگو» هستیم، در این نسخه قابلیت ها و ظاهر سایت به کلی متفاوت و کاملتر خواهد بود، این فرآیند زمانبر و از مدتی پیش شروع شده و همچنان ادامه دارد، روند پیشرفت پروژه در این قسمت به صورت درصدی مشخص است و به تناوب به روزرسانی می شود.
parsgreen.com
article

آشنایی با برنامه نویسی به زبان PHP

php

ایجاد وبسایت های استاتیک با صفحاتی از پیش طراحی شده مدتها است که جای خود را به صفحات داینامیک داده و دیگر کم تر سایتی را می توان یافت که محتوایش خط به خط به شیوه سنتی کدنویسی شده باشد، زبانهایی مثل asp , php و... تحولی نوین در وب ایجاد کرده و رفته رفته گوی سبقت را از دیگران ربودند، اما چرا php را انتخاب کنیم؟ پاسخ به این سوال به عوامل زیادی مربوط می شود چرا که هیچ زبانی کامل نیست ولی با توجه به مزیت ها از جمله رایگانی پی اچ پی، امکانات و قدرتمندی، دسترسی به منابع مختلف، سازگاری با انواع سرورها، استفاده گسترده و... توصیه می کنیم اگر علاقمند به فراگیری علم برنامه نویسی وب هستید پس از آموختن کلیاتی از css, html و javascript حتما دانشتان را با php کامل کنید، درست است که برنامه های مدیریت محتوا (CMS) کار را خیلی راحت کرده اند اما همیشه ایده هایی وجود دارند که در قالب آنها نمی گنجند و یا مشکلاتی پیش می آید که به دلیل مبهم بودن کدنویسی دیگران، ممکن است نتوانید آنها را رفع کنید یا دچار مشکل شوید.

آموزش php


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

اجرای کدهای php در سیستم عامل


از آنجایی که php یک زبان سمت سرور (server side) است برای اجرای آن در سیستم خود نیاز به برنامه هایی تحت عنوان سرور مجازی دارید که امروزه به صورت رایگان در دسترس هستند، برای نمونه یکی از بهترین ها در آدرس زیر قابل دسترس است:
www.wampserver.com
همچنین:
www.appservnetwork.com
و همچنین:
www.apachefriends.org
پس از نصب هر یک برنامه های WampServer، AppServ یا XAMPP اکنون شما قادر به اجرای فایل های php روی سیستم خودتان خواهید بود، البته فایلتان را باید در ریشه سرور مجازی که معمولا پوشه ای با عنوان www است کپی نمائید؛ سپس در مرورگرتان به فرض عبارت http://localhost/example.php را بنویسید تا فایل example.php از فولدر www فراخوانی شود، اگر هم که به یک سرور آنلاین دسترسی دارید کار خیلی راحت تر است و کافی است فایلتان را به سرور منتقل کنید.

چند مثال با php


از آنجایی که فلسفه پیدایش php ایجاد صفحات داینامیک و استفاده از آن در وب بوده، لذا قابلیتهای این زبان در کنار کدهای ساده html قابل دسترسی است و این یکی از نقاط قوت آن محسوب می شود؛ برای شروع و آشنایی بیشتر به کدها و مثال های زیر توجه کنید:
<?php
echo "اولین کد php من!";
?>
توضیح:
- کدهای php بین دو تگ علامت سوال ، php و علامت سوال نوشته می شوند (شیوه استاندارد).
- دستور echo مقادیر را به خروجی ارسال می کند.
حال به کد زیر توجه کنید:
<?php
$text = "اولین کد php من!";
echo $text;
?>
پیش نمایش
توضیح:
- در کد بالا عبارت اولین کد php من! به جای پرینت مستقیم، ابتدا به یک متغیر داده شده و سپس آن متغیر به خروجی داده می شود (علامت $ نشان دهنده تعریف یک متغیر است).
حال به مثال زیر توجه کنید:
<?php
$num1 = 20;
$num2 = 50;
$total = $num1 + $num2;
echo $total;
?>
پیش نمایش
توضیح:
- کد بالا مقدار متغیر total را به خروجی خواهد داد و متغیر total برابر است با حاصل جمع دو متغیر num1 و num2 که اعدادی به دلخواه به آنها داده ایم.
- در آینده در رابطه با نحوه استفاده و تعریف متغیر ها بیشتر خواهیم گفت و مثال های بیشتری مطرح خواهیم کرد.
مثالی دیگر:
<?php
$name = 'webgoo.ir';
if ($name == 'webgoo.ir'){
    $hi = 'سلام وبگو!';
}
else{
    $hi = 'سلام ناشناس!';
}
echo $hi;
?>
پیش نمایش
توضیح:
- if (اگر) و else (در غیر اینصورت) برای ایجاد شرط به کار می روند و علامت == نشان دهنده برابری دو طرف آن است.
تقریبا هر آنچه که از وب بخواهید با php دستیافتنی است؛ در ادامه مطالب آموزشی در این باره بیشتر خواهیم گفت.
sectionدسته بندی: آموزش مقدماتی » PHP
related مطالب بیشتر:
» حلقه for و while در php
» عملگرهای (Operators) محاسبه و مقایسه در php
» توابع کار با آرایه در PHP - بخش سوم
» توابع کار با آرایه در php - بخش اول
» آرایه (Array) در برنامه نویسی php
commentنظرات (۱۰۴ یادداشت برای این مطلب ارسال شده است)
نویسنده: بهنام
زمان: ۱۸:۵۱:۳۲ - تاریخ: ۱۳۹۳/۰۵/۰۷
سلام.
روزه نمازا قبول و عیدتون مبارک.
خسته نباشید.
یه سوالی داشتم.
من تو سایت یه اپلود عکس برای کاربرا درست کردم که هر کاربری عکس میفرسته نام و تاریخ زمان اپلود در دیتابیس وارد میشه حالا چطوری بگم که بعد از 1 روز از تاریخ هر کاربری که اپلود کرده گذشت عکسه پاک بشه بدون استفاده از کوکی و...؟
با تشکر
پاسخ: 
سلام
جواب این سوال خیلی مفصل است، صرفا در حد اطلاعات اولیه:
باید ضمن ذخیره فایل در دایرکتوری سرور، اطلاعات آن را نیز در دیتابیس داشته باشید که ظاهرا همین کار را انجام داده اید، از طرفی، فرمت های پشتیبانی شده ذخیره تاریخ و زمان در MySQL چند حالت مختلف (به صورت رشته متنی، به صورت برچسب زمان و...) دارند که بسته به نیاز باید یکی از آنها را انتخاب کنید، به فرض:
1999-12-30 12:60:60
در نهایت کدی داشته باشید که زمان فعلی با فرمت بالا را از یک روز پیش کسر کند (به بخش تاریخ و زمان در PHP مراجعه کنید) و سپس حاصل را که تاریخ یک روز پیش نسبت به الان است، در پرس و جویی استفاده کنید (ردیف هایی که تاریخ آنها کوچکتر از تاریخ یک روز پیش است را انتخاب) و در یک حلقه و تابع unlink هم به صورت فیزیکی از دایرکتوری و هم از MySQL اطلاعات را حذف کنید.
نویسنده: ایمان غفوری
زمان: ۱۱:۱۸:۱۷ - تاریخ: ۱۳۹۳/۰۵/۲۳
سلام چطوری میشه با فشردن باتوم داخل تکست باکس رو خوند و بعدش عوض کرد ممنون از لطفتون
پاسخ: 
سلام
باید با نحوه کار متد
document.getElementById
در جاوا اسکریپت آشنا باشید.
نویسنده: ایمان غفوری
زمان: ۱۱:۲۱:۰۲ - تاریخ: ۱۳۹۳/۰۵/۲۳
با سلام . اگه میشه روش ارتباط متغیر ها رو با پی اچ پی و جاوا توضیح دهید با سپاس فراوان
پاسخ: 
سلام
سوال مبهم است!
نویسنده: مسعود
زمان: ۱۹:۴۶:۵۴ - تاریخ: ۱۳۹۳/۰۶/۱۴
با سلام .
ممنون از سایت بسیار خوب و آموزنده ی شما
یه سوال داشتم
میخواستم ببینم در کلاس نویسی توی php حتما متغیر ها باید با var معرفی بشن ؟؟
آخه من چندجا دیدم که توی کلاس مثل عبارت زیر معرفی شده متغیر !
public $db ;
پاسخ: 
سلام
استفاده از var در PHP مربوط به نسخه های قدیمی (ما قبل 5) است، در اغلب نسخه های جدید تعریف متغیر با var خطایی از نوع E_STRICT را چاپ می کند (البته کدها همچنان عمل خواهند کرد)، لذا در کدنویسی های جدید نباید از var استفاده کنیم و در عوض از public, private و... باید استفاده شود.
نویسنده: مریم
زمان: ۱۲:۲۰:۱۶ - تاریخ: ۱۳۹۳/۰۷/۱۴
سلام
من یه برنامه نوشتم، wampserver رو روی سرور سازمانمون نصب کردم و بعد از تکمیل کدهام، اونا رو از سرور سازمانمون اجرا میکنم. برنامه ام تحت شبکه داخلی اون سازمان داره کار میکنه. البته واقعا از شما ممنونم چون راهنمایی های شما خیلی کمکم کرد تا تکمیلش کنم.
مسئله اینه که کدهای من خیلی راحت قابل دسترس هستش، و کسانی که به سرور دسترسی دارند میتونن به راحتی کل پروژه رو بردارن .
میدونم راه هایی هست که برنامه کد بشه ولی از هیچ کدومشون مطمئن نیستم و اطلاع کاملی ندارم.
از شما برای بهترین روش راهنمایی میخواستم.
بازم ممنون
پاسخ: 
سلام
PHP به دلیل ماهیت خاص خود (متن باز بودن) عملا طرفدار دنیای متن های باز است! لذا طبیعتا کدهای شما قابل خواندن توسط افراد دیگری که به فایل ها دسترسی دارند خواهد بود، با این حال به راحتی می توان تا حدود زیاد و شاید در عمل به طور صد در صد مانع استفاده یا به فرض فروش برنامه شما توسط دیگران شد، روشی که خود ما نیز از آن استفاده می کنیم ترکیبی از ناخوانا کردن (Obfuscate) توسط برنامه هایی مانند TrueBug PHP Obfuscator & Encoder، حذف تمام فاصله های بین کدها و ایجاد قفل درونی در برنامه است، البته نحوه تعریف قفل درونی برنامه خود آموزش مفصلی دارد که به طور خلاصه یعنی در قلب برنامه در چند لایه کپی رایت و ... را کنترل کنیم، یا به فرض ابتدا یه یک سرور درخواست دهیم و در صورتی که نام دامنه مورد تایید بود، اجازه اجرای ادامه برنامه را دهیم و یا هر روشی که با توجه به نوع کار عملی باشد.
به نظر موارد اول تا حدود زیادی مشکل را حل می کنند، فایلهای ناخوانا شده عملا طوری هستند که کسی از آنها سر در نخواهد آورد و در نتیجه میلی به انتشار یا استفاده نیز وجود نخواهد داشت چون کدها قابل توسعه یا رفع عیب نیست!
نویسنده: حسین
زمان: ۱۶:۲۹:۵۲ - تاریخ: ۱۳۹۳/۰۷/۲۱
سلام یه سوال دارم چه طور میتونم حروف های مثل حروف های زیر تو php ساخت
\x68\x74\x74\x70\x3a\x2f\x2f
پاسخ: 
سلام
این شیوه رمزی کردن اطلاعات مبتنی بر hex و octal است، در دو تابع نمونه زیر هم روش رمزی کردن (encode) و هم رمزگشایی (decode) به همراه مثال تعریف شده:
<?php
function encode_str($str){
$str = str_split($str);
foreach($str as &$char){
$char = "\x".dechex(ord($char));
}
return implode('',$str);
}
function decode_code($code){
return preg_replace_callback("@\\\(x)?([0-9a-f]{2,3})@", function($m){
return chr($m[1]?hexdec($m[2]):octdec($m[2]));
}, $code
);
}
$str = encode_str('test');
echo $str.'<br>';
//$str = '\x68\x74\x74\x70\x3a\x2f\x2f';
echo decode_code($str);
?>
نویسنده: حسین
زمان: ۱۳:۵۶:۳۲ - تاریخ: ۱۳۹۳/۰۷/۲۳
یه دنیا تشکر
نویسنده: مصطفی
زمان: ۱۶:۵۷:۱۶ - تاریخ: ۱۳۹۳/۰۸/۲۴
درود و تشکر فراوان از سایت خوب وبگو حقیقتش من اینبار نیومدم سوال بپرسم بلکه اومدم تشکر ویژه داشته باشم از شما که در طول این چند ماه به من کمک بسیار کردید و از ما خسته شدید. من سایتم رو چند روزی هست که راه انداختم ادرسش هست nat-trs.ir یک کلام بگم اگه کمکهای شما نبود نمی تونستم اینکارو بکنم فقط میتونم بگم اجرتون با خدا که دست ما رو گرفتید. یا حق
پاسخ: 
سلام
خوشحالیم که مطالب مفید بوده،
آرزوی موفقیت داریم.
نویسنده: فرهاد
زمان: ۲۰:۵۳:۳۸ - تاریخ: ۱۳۹۳/۰۹/۱۷
میشه یک کتاب خوب و مرجع برای آموزش زبان پی اچ پی معرفی کنید که به صورت خود آموز باشه ؟
پاسخ: 
اکثر کتابها در این حوزه ترجمه صرف هستند!، توصیه می کنیم به کتابفروشی ها بروید و سرفصل ها + نحوه نگارش مطالب را مرور کنید، هر کدام که به نظرتان قابل فهم تر بود، همان را انتخاب کنید!
سطح مقدماتی PHP را از طریق وب هم به راحتی می توان فرا گرفت (در کتاب ها چیز خارق العاده ای وجود ندارد که در سایت ها آموزش داده نشود!)
نویسنده: شکوهی
زمان: ۲۳:۳۶:۴۶ - تاریخ: ۱۳۹۴/۰۱/۱۱
با سلام
اگر بخوایم یک سایت فروشگاهی با php بسازیم مراحل ساختش چجوریه در واقع شما بخواهید طراحی کنید ابتدا چیکار میکنید تا انتها
بسیار ممنون
پاسخ: 
سلام
سوال کلی است و پاسخ کوتاهی ندارد! به صورت ساده دو راه پیش روی شما است:
- برای افراد با سطح آشنایی مبتدی تا متوسط با وب و زبان های برنامه نویسی مرتبط، استفاده از CMS های رایگان مانند وردپرس، جوملا و... توصیه می شود.
- برای افراد با سطح آشنایی حرفه ای شخصی سازی CMS ها یا نوشتن یک CMS اختصاصی می تواند گزینه مناسبی باشد.
نویسنده: سید محمد
زمان: ۲۱:۴۳:۱۲ - تاریخ: ۱۳۹۴/۰۳/۰۶
از مطلب استفاده کردم ممنون
به وب من هم سر بزن آموزش برنامه نویسی PHP هستش که به صورت کامل و رایگان آموزش میدم ;)
نویسنده: علی
زمان: ۱۳:۱۶:۵۲ - تاریخ: ۱۳۹۴/۰۳/۲۵
سلام
سوال. دو متغییر دلخواه تعریف کنید که موارد زیر را برایش بررسی کند
1-بررسی مساوی بودن دو متغییر
2- بررسی بزرگتر بودن متغییر اول از دوم
ممنون میشم جوابشو بدین
پاسخ: 
سلام
هرچند این مباحث را باید در ادامه آموزش ها فرا بگیرید، صرفا جهت آشنایی:
<?php
$var_1 = 34;
$var_2 = 44;
if($var_1 == $var_2){
echo 'Yes!';
}
else{
echo 'No!';
}
?>
برای بررسی بزرگتر یا کوچکتر می توانید به جای علامت == از علامت های > و < استفاده کنید!
نویسنده: محبوب
زمان: ۰۲:۴۸:۲۶ - تاریخ: ۱۳۹۴/۰۴/۰۶
سلام. من اولین باره که سراغ سایت شما اومدم. قراره که من پروژه پایانی دوره کارشناسی ام که طراحی یک بازی است رو با پی اچ پی انجام بدم ولی اصلا از این زبان برنامه نویسی چیزی بلد نیسم به نظر شما میتونم بدون کلاس و با خوندن کتاب یا جزوه های اینترنتی یاد بگیرم و پروژه ام را انجام بدم یا اینکه کلا پروژه ام رو تغییر بدم!؟
پاسخ: 
سلام
یادگیری PHP در حد رفع نیاز و ارتباط با دیتابیس خیلی زمانبر نیست (البته این بستگی به میزان آشنایی قبلی شما با اصول کلی برنامه نویسی دارد)، منتها PHP به تنهایی برای بازی های تحت وب کافی نیست، باید در تعامل با PHP، کدنویسی HTML5 و CSS3 بلد باشید، البته برنامه هایی نظیر Construct 2 این بخش کار را تا حدودی ساده کرده اند، در واقع بخش اصلی بازی سازی در سمت کاربر است (یعنی HTML5، CSS3 و JavaScript) و PHP عموما برای مدیریت دیتابیس و اطلاعات ذخیره شده کاربران استفاده می شود.
نویسنده: سعید
زمان: ۱۳:۴۷:۳۰ - تاریخ: ۱۳۹۴/۰۴/۲۰
با سلام
من اخیرا شروع به یادگیری php کردم و مبتدی هستم، من تو dereamweaver دستور جمع اعداد رو تایپ کردم ولی بعد از ذخیره و اجرای اون هیچ چیزی برای من به نمایش در نیومد! حتی دستور تکست ساده هم تایپ کردم همین اتفاق افتاد. میخواستم بدونم که چرا چیزی نمایش داده نشد و چه باید انجام بدم. ممنون میشم راهنمایی کنید.
این هم لینک عکس که از دریم ویور گرفتم.
http://www.up.farsroid.com/uploads/143660602555421.png
پاسخ: 
سلام
- آیا یک برنامه سرور مجازی مانند WampServer در سیستم خود نصب کرده اید؟
- فایل را به چه روش و آدرسی فراخوانی می کنید؟
نویسنده: سعید
زمان: ۲۰:۰۶:۰۸ - تاریخ: ۱۳۹۴/۰۴/۲۰
WampServer نصب هست و فایل رو تو مسیر
C:\WampServer\www
قرار دادم. وقتی یه دستور هیدر رو مینویسم اجرا میشه و تو بروزر نشون میده اما وقتی دستور php می نویسم هیچ چیزی نمایش نمیده. این دستورایی که نوشتم به این صورته:
<!DOCTYPE html>
<html>
<head>
<title>
Test page
</title>
</head>
<body>
<section>
<article>
<header>
<h2>
Test page
</h2>
</header>
<?php
$text = "Hello";
echo $text;
?>
</article>
</section>
</body>
</html>
پاسخ: 
دستورات شما هیچ مشکلی ندارند، ابتدا باید دقت کنید که آیکن برنامه WampServer در نوار وظیفه ویندوز به رنگ سبز باشد، سپس باید آدرس فایل را در نوار آدرس مرورگر به صورت نمونه زیر وارد کنید:
http://localhost/your-file.php
اگر با این وجود هیچ چیز روئیت نمی شود، نیاز به بررسی سیستم با TeamViewer دارد و متاسفانه کار دیگری نمی توان کرد.
paged صفحه 5 از 7




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

8 × 6
 refresh
آگهی
seonab.com
طراحی نرم افزار اندروید
رنگین کمان عکس
Ranginkamaan.com

آرشیو عکس های باکیفیت با موضوعات متنوع...
پرشین آی تی
Persianit.net

آموزش و دانلود پروژه های برنامه نویسی سی شارپ (#C)