دوشنبه ۲۵ اسفند ۱۴۰۴

Monday, March 16, 2026 GMT +3:30

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

php

در طی مسیر فراگیری دانش و توسعه مهارتهای برنامه نویسی وب پس از آموختن کلیاتی از CSS, HTML و JavaScript دیر یا زود اسمی از یک زبان برنامه نویسی سمت سرور مانند PHP به گوشمان خواهد خورد، ساختار وب به گونه ای است که از دو بخش سمت کاربر (مرورگر) و سمت سرور (جایی که صفحه وب یا برنامه تحت وب در آن قرار دارد) تشکیل شده و لذا صرف آشنایی با آنچه تا کنون آموخته ایم نمی تواند برای انجام فعالیت های حرفه ای و طراحی سیستم های پیشرفته کافی باشد و لزوما باید یک زبان برنامه نویسی سمت سرور مانند PHP را فرا بگیریم، با PHP می توانیم به صورت پویا آنچه را که کاربر باید در صفحه مرورگر خود ببیند مدیریت کنیم، به طور مثال اگر فرم اولیه ورود به سایت با HTML و CSS طراحی شده باشد، پس از ارسال نام کاربری و کلمه عبور به سرور، این PHP است که وظیفه تطبیق اطلاعات با پایگاه داده و صدور اجازه یا عدم اجازه دسترسی به پنل مدیریت را بر عهده دارد، با PHP می توانیم تقریبا هر خواسته ای که از سرور داشته باشیم را عملی و صفحات وب داینامیک و برنامه های تحت وب حرفه ای طراحی کنیم.

تعریف PHP به زبان ساده


اگر بخواهیم PHP را به زبان ساده تعریف کنیم می توانیم آن را زبان برنامه نویسی اسکریپتی چند منظوره بنامیم که به طور خاص برای وب توسعه یافته و جهت نوشتن برنامه های تحت وب کاربرد تخصصی دارد، این تعریف ترجمه ساده از عبارتی است که در سایت php.net درج شده است:
PHP is a popular general-purpose scripting language that is especially suited to web development.
این زبان در سال 1994 میلادی توسط Rasmus Lerdorf با هدف نمایش آنلاین اطلاعات و رزومه شخصی به زبان C نوشته شد که به همین دلیل در ابتدا آن را Personal Home Page نامیدند که PHP مخففی از سرواژه های این عبارت است، بعدها با پیشرفت PHP عبارت توضیحی HyperText Preprocessor (پیش پردازنده ابرمتن) جایگزین عبارت فوق شد، منظور از پیش پردازنده ابرمتن این است که PHP ابتدا کدها و دستورات را با مفسر خود پردازش کرده و سپس خروجی را به مرورگر کاربر ارسال می کند.
نکته: منظور از اسکریپتی بودن PHP این است که کدهای آن در مفسر سرور پردازش شده و مانند برنامه های رایج در قالب یک بسته نرم افزاری کامپایل نمی شوند.

چرا PHP بیاموزیم و با PHP برنامه نویسی کنیم؟


اغلب علاقمندان به فراگیری دانش برنامه نویسی وب پس از اینکه از مرحله زبان های سمت کاربر عبور می کنند در دو یا بعضا چندراهی انتخاب یک زبان برنامه نویسی سمت سرور به شک و تردید دچار می شوند، محدودیت های زمانی، انرژی و حوصله ای که برای فراگیری یک زبان برنامه نویسی صرف می شود این انتخاب را بیش از پیش حساستر کرده و حتی آینده حرفه ای ما را رقم می زند، اگر در وب عباراتی مانند "PHP یا ASP کدام بهتر است؟!" را جستجو کنید، ملاحظه می کنید که اغلب بین برنامه نویسان در این خصوص که کدام زبان مناسب تر است بحث های طولانی و بعضا متعصبانه رخ داده و هر کسی با دید خود به این قضیه نگاه می کند، اما واقعیت این است که هیچ زبانی کامل و بی نقص نیست و ما هم قصد نداریم PHP را با زبان های دیگر مقایسه کنیم چرا که هیچ محدودیتی از این نظر که بتوانیم از چند زبان برنامه نویسی استفاده کنیم وجود ندارد و در واقع مرزی برایمان به عنوان برنامه نویس نباید ترسیم کنیم، PHP را می آموزیم چون متخصص در امر وب است و تمام نیازهایمان را به خوبی پوشش می دهد، چون ساده و در عین حال قدرتمند، سریع و امن است، رایگان، کم دردسر و در دسترس است، کدنویسی با PHP اغلب به درک بهتر ساختار و پیچیدگی های وب کمک می کند، PHP از شیوه های برنامه نویسی معمولی و شی گرا به خوبی پشتیبانی می کند، برای کار با پایگاه داده اکستنشن های قوی و تخصصی دارد، PHP متن باز (Open-source) است و آنگونه که توسعه محصولات شرکت های بزرگ به پدیدآورنده محدود می شود وابسته به شرکت خاصی نیست، اغلب برنامه های رایگان و پرکاربرد مدیریت محتوای وب (CMS) به زبان PHP نوشته شده اند مانند وردپرس، جوملا، دروپال و...، PHP توسط گروهی حرفه ای از برنامه نویسان وب پشتیبانی می شود، وجود سایت مرجع php.net و جامعه وسیعی از کاربران در سطح وب خود نویدبخش رشد شتابان PHP و رفع نواقص احتمالی نسبت به زبان های مشابه و آینده روشن است، لذا می توان PHP را یکی از مناسبترین گزینه ها برای برنامه نویسی سمت سرور به شمار آورد.

فراگیری PHP، آسان و شیرین!


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

برای کدنویسی PHP از چه برنامه ای استفاده کنیم؟


اکنون که با کلیات برنامه نویسی با PHP آشنا شدیم نوبت به ورود عملی به این مسیر است، در اولین گام این سوال مطرح می شود که برای کدنویسی PHP از چه برنامه ای باید استفاده کنیم؟ در پاسخ می توان چند برنامه قوی و کاربردی مختلف را پیشنهاد داد از جمله برنامه قدرتمند و مناسب PhpStorm (توصیه می کنیم برای شروع از این برنامه استفاده کنید)، برنامه شرکت ادوبی با نام Adobe Dreamweaver، برنامه رایگان و متن باز NetBeans IDE - PHP Development با محیط کدنویسی قوی و پشتیبانی مناسب، در کنار این برنامه ها استفاده از ویرایشگرهای به ظاهر ساده مانند ++Notepad برای کار با فایل های PHP ضروری خواهد بود، خوشبختانه تمام موارد نامبرده با یک جستجوی کوتاه در وب در دسترس می باشند.

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


از آنجایی که PHP یک زبان سمت سرور (Server-side) است برای اجرای آن در سیستم خود نیاز به برنامه هایی تحت عنوان سرور مجازی (Localhost) داریم که اغلب به صورت رایگان در دسترس هستند، برای نمونه یکی از بهترین ها در آدرس زیر قابل دریافت است.
apachefriends.org
همچنین:
wampserver.com
و همچنین:
appservnetwork.com
پس از نصب هر یک از برنامه های XAMPP، WampServer یا AppServ اکنون شما قادر به اجرای فایل های PHP بر روی سیستم خودتان خواهید بود (توصیه می کنیم یکی از نسخه های برنامه XAMPP را متناسب با سیستم خود انتخاب کرده و نصب نمائید)، پس از نصب و اجرای برنامه به آیکن مربوطه که معمولا در نوار وظیفه سیستم عامل مشخص است دقت نمائید به طور مثال برنامه XAMPP پنجره کنترلی برای مشاهده وضعیت سرویس های مورد نیاز (Apache، MySQL و...) را در رابط کاربری خود نمایش می دهد یا برنامه WampServer در حالت عادی آیکنی سبزرنگ را نمایش می دهد و این یعنی سرور مجازی شما فعال و آماده به کار است، اکنون برنامه ویرایشگر فایل های PHP خود (به طور مثال PhpStorm) را اجرا و فایلی با نام example.php (فایل فرضی و نام دلخواه) در فولدر htdocs یا www (با توجه به برنامه مورد استفاده) در محل نصب سرور مجازی ذخیره نمائید، به فرض اگر برنامه XAMPP یا WampServer را در درایو C در فولدرXampp یا Wamp قرار داده باشید ریشه سرور مجازی شما به صورت نمونه های زیر خواهد بود:
C:\Xampp\htdocs
C:\Wamp\www
فایل example.php را درون این فولدر قرار دهید، بهتر است این فایل با نمونه کدهای ساده HTML کدنویسی شده باشد تا در هنگام گرفتن خروجی نتیجه مشخص شود، در نهایت مرورگرتان را اجرا کرده و عبارت http://localhost/example.php را در قسمت نوار آدرس نوشته، دکمه Enter را در صفحه کلید بزنید تا فایل از فولدر htdocs یا www فراخوانی شود، اگر همه چیز صحیح باشد صفحه وب شما در مرورگر نمایش داده خواهد شد درست مانند اینکه یک سایت آنلاین بر روی سرور واقعی برپا کرده باشید (در سرور آنلاین نیز معمولا ریشه سایت فولدر public_html یا www است).

چند مثال ساده با PHP


فلسفه پیدایش PHP (سال 1994 میلادی توسط Rasmus Lerdorf) ایجاد صفحات داینامیک و استفاده از آن در وب بوده (هرچند PHP را می توان به صورت General-purpose استفاده کرد) لذا می توان دستورات این زبان را در کنار کدهای ساده HTML درج و اجرا کرد (در اصطلاح PHP را HTML-embedded می گویند) این قابلیت یکی از نقاط قوت PHP محسوب شده و یادگیری آن را ساده تر می کند، برای شروع و آشنایی بیشتر کدها و مثال هایی ساده از این زبان را مرور می کنیم:
<?php
echo "اولین کد PHP من!";
?>
توضیح:
- کدهای PHP با تگ علامت سوال ، php شروع و با علامت سوال بسته می شوند (شیوه استاندارد).
- دستور echo مقادیر را به خروجی ارسال و در مرورگر چاپ می کند.
حال به کد زیر توجه کنید:
<?php
$text = "اولین کد PHP من!";
echo $text;
?>
پیش نمایش
توضیح:
- در کد بالا عبارت اولین کد PHP من! به جای اینکه مستقیما به echo داده شود، ابتدا به یک متغیر (در آینده در این رابطه مفصل خواهیم گفت) نسبت داده شده و سپس مقادیر متغیر با دستور echo به خروجی داده می شود (علامت $ در PHP نشان دهنده متغیر است).
حال به مثال زیر توجه کنید:
<?php
$num1 = 20;
$num2 = 50;
$total = $num1 + $num2;
echo $total;
?>
پیش نمایش
توضیح:
- کد بالا مقدار متغیر total را به خروجی خواهد داد و متغیر total برابر است با حاصل جمع دو متغیر num1 و num2 که اعدادی به دلخواه به آنها داده ایم.
- ملاحظه می کنید که PHP قدرت محاسبه منطقی دارد و می توان با آن از ترکیب چند مقدار یک مقدار جدید به دست آورد، این مثال ها اولیه و ساده هستند اما ما را با دنیای جدیدی آشنا می کنند که همان داشتن تفکر و هوش منطقی است و رفته رفته ذهنمان را برای نوشتن برنامه های سیستماتیک، طراحی الگوریتم ها و ساختارهای پیچیده تر وب آماده می کنند.
مثالی دیگر:
<?php
$name = 'Webgoo';
if ($name == 'Webgoo'){
    $hi = 'سلام وبگو!';
}
else{
    $hi = 'سلام، لطفا در سایت عضو شوید!';
}
echo $hi;
?>
پیش نمایش
توضیح:
- if (اگر) و else (در غیر اینصورت) برای ایجاد شرط منطقی به کار می روند و علامت == نشان دهنده برابری دو طرف آن است، اینها ابزارهایی است که در دنیای برنامه نویسی به کارمان می آیند و می توانیم به کمک آنها زبان انسان را به زبان ماشین تبدیل کنیم، در تفسیر کد بالا ابتدا متغیر name را با مقادیر از پیش تعریف شده Webgoo مقدار دهی کرده ایم (می تواند هر چیز دیگری باشد)، سپس با شرط if بررسی کرده ایم که اگر متغیر name برابر با مقدار Webgoo باشد، دستور echo داخل شرط if که بین دو علامت {} مشخص است اجرا شود، در غیر اینصورت قسمت else اجرا خواهد شد.
تقریبا هر آنچه که از وب بخواهید با PHP دستیافتنی است، در ادامه مطالب بخش آموزش های مقدماتی PHP در این باره بیشتر خواهیم گفت.
دسته بندی: آموزش مقدماتی » PHP
related مطالب بیشتر:
دستورات شرطی (Conditional Statements) در PHP
توابع کار با آرایه در PHP - بخش دوم
دستور switch و case در PHP
توابع کار با آرایه در PHP - بخش سوم
تعریف و استفاده از متغیر (Variable) در PHP
دیدگاه
more ۱۹۴ دیدگاه برای این مطلب ارسال شده است.
more چینش دیدگاه ها به ترتیب از جدیدترین به قدیمی ترین است.
۱۶:۵۰ ۱۳۹۵/۱۰/۰۹
سلام
ببخشید من تازه واردم
میشه بگید
$text
یعنی چی
با تشکر فراوان
در برنامه نویسی زبان های مختلف، برای تعریف متغیر از روشهای قراردادی گوناگونی استفاده می شود که در PHP این کار با افزودن علامت $ به ابتدای رشته صورت می گیرد، همان طور که از اسم عبارت "متغیر" مشخص است، اینها می توانند در طول اجرای یک برنامه با مقادیر متفاوت مقدار دهی شوند، یعنی نام متغیر همواره ثابت است اما محتوای آن می تواند تغییر کند!
بهنام
۱۵:۲۲ ۱۳۹۵/۰۶/۱۶
خیلی مفید بود ممنون استاد گل.
بهنام
۱۵:۴۴ ۱۳۹۵/۰۶/۱۵
سلام
تشکر بابت جوابتون خیلی مفید بود و استفاده کردم
این THE_REQUEST جزء ارایه های
$_SERVER
نبود از کجا اومده ؟
این پارامتر مربوط به سرور Apache است، مقادیر THE_REQUEST شامل اطلاعات کامل از درخواستی است که مرورگر به سرور ارسال می کند، مانند:
"GET /index.html HTTP/1.1"
اما مقادیر REQUEST_URI صرفا آن قسمت از درخواست را شامل می شود که بعد از آدرس HOST قرار می گیرد، به طور مثال:
"/index.html"
ّبهنام
۱۸:۱۹ ۱۳۹۵/۰۶/۱۲
استاد عزیز همین کد هارو من نوشتم باز هم در هر دو صورت ارور [F] رو صادر میکنه
این کد های htaccess
RewriteEngine On
RewriteCond %{REQUEST_URI} ^/mvc/index\.php$
RewriteRule .* - [F]
RewriteRule post/(.*)/? mvc/index.php?title=$1 [L]
ممنون میشم تست کنید ببینید مشکل از کجاست خیلی درگیرشم دارم یه cms طراحی میکنم یه دنیا ممنون
از دستورات نمونه زیر پیروی کنید (تست شده!):
RewriteEngine On
RewriteCond %{THE_REQUEST} \s/+mvc(/\S*)?\s [NC]
RewriteRule ^ - [F]
RewriteRule post/(.*)/? mvc/index.php?title=$1 [L]
بهنام
۲۲:۲۹ ۱۳۹۵/۰۶/۱۰
سلام استاد
تشکر میکنم بابت مطالبای مفیدتون من تازه با این سایت آشنا شدم و از مطالب های مفید ایده هایی گرفتم ولی یه سوالی در مورد htaccess ها دارم که بدجور ذهن منو مشغول کرده ممنون میشم پاسخ بدید.
سوال:
این کد هایی هست که در فایل htaccess نوشتم و به صورت زیر هست.
RewriteEngine On
RewriteRule post/(.*)/? mvc/index.php?title=$1 [S]
RewriteRule mvc/index\.php - [F]
سوال:
شنیدم فلگ [S] باعث میشه از رول بعدی در صورت مطابقت جلوگیری بشه ولی برای من کار نمیکنه
من اینجا گفتم در صورتی که ادرس سایت چیزی شبیه (localhost/post/نام تایتل پست) بود محتویات صفحه ایندکسی که در پوشه mvc هست با کوئری استرینگی که میفرستیم خب حالا این کارو واسه من انجام میده و با وارد کردن تایتل پست. برای من نمایش داده میشه و به صورت mvc ولی اگه به صورت مستقیم صفحه ایندکس را درخواست کرد خطای forbidden اجرا بشه و مشکلی که واسه من پیش میاد اینه که هم ادرس رو به صورت mvc وارد میکنم نیز خطای forbidden رو اجرا میکنه و چه به صورت فیزیکی ادرس ایندکس رو درخواست میکنم هم خطا رو اجرا میکنه که من فکر میکنم فلگ [S] برای من هیچ کاری انجام نمیده!
ممنون میشم ببینید مشکل از کجاست و بیشتر توضیحاتی در مورد جزئیات کد ها و مشکلات بدید با تشکر فراوان
حل دقیق این مشکل و ارائه کد نهایی نیازمند تست و آزمایش و خطا است، با این حال به نظر کد شما در یک دور قرار دارد و در هر حالت یکی از قانون ها اجرا می شود، در واقع وقتی حالت post فراخوانی می شود، به حالت mvc ریدایرکت می شود و این حالت خود مجددا در سرور به خطای Forbidden می انجامد (دقت کنید که اگر S هم اجرا شود، فقط برای post است، وقتی قانون post اجرا می شود، مجددا حالت mvc به سرور ارسال می شود و در این حالت فلگ F عمل می کند)، برای حل مشکل به نظر نمونه کدی شبیه به دستورات زیر مورد نیاز است:
RewriteEngine On
RewriteCond %{REQUEST_URI} ^mvc/index\.php
RewriteRule mvc/index\.php - [F]
RewriteRule post/(.*)/? mvc/index.php?title=$1 [L]
۱۴:۱۹ ۱۳۹۵/۰۶/۱۰
سلام امکان دارد در مورد کاربردهای
<?= 
هم اگر امکان داره توضیح بدهید ممنون
معمولا مفسر PHP برای تفسیر دستورات شما از روشی ثابت و یک یا چند شیوه جایگزین و اختیاری استفاده می کند، در حالت کلی تگ های PHP به صورت زیر شروع می شوند:
<?php
دلیل این حالت هم تمایز از تگ های مشابه سایر زبان ها و تفسیر دقیق توسط مفسر است، اما یک شیوه دستوری دیگر نیز برای شروع تگ PHP وجود دارد:
<?
این شیوه اگرچه کوتاه تر است، اما به دلایل مختلف توصیه نمی شود، چون امکان پشتیبانی نشدن آن (به دلیل غیر فعال بودن امکان short_open_tag در تنظیمات فایل php.ini) همواره وجود دارد، همچنین ممکن است این شیوه نگارشی با سایر زبان های مشابه مانند XML تداخل داشته باشد! اما در مورد دستور مد نظر شما، این شیوه جایگزین echo در PHP است و باز هم توصیه نمی شود که از آن استفاده کنید، اگرچه در نسخه 5.4 این امکان سوای short_open_tag و به صورت پیش فرض فعال شده است، اما به دلیل اینکه ممکن است در آینده مجددا به صورت انتخابی تغییر داده شود، بهتر است که استفاده نشود (مگر اینکه در صورت نیاز بتوانید، بعدها بدون زحمت زیاد کدهای خود را تغییر دهید!).
......
۲۲:۳۷ ۱۳۹۵/۰۶/۰۵
سلام این فایل من قراره تکست رو روی تصویر چاپ کنه منتها فارسی رو جدا جدا و برعکس چاپ میکنه میشه تغییری توش بدید که این ایراد رفع بشه؟ ممنون میشم ازتون
<?php
header('Content-type: image/jpeg');
$jpg_image = imagecreatefromjpeg('sunset.jpg');
$white = imagecolorallocate($jpg_image, 0, 0, 0);
$font_path = 'font-farsi.ttf';
$text = "این نوشته برعکس چاپ میشه و جدا جدا";
imagettftext($jpg_image, 25, 0, 75, 300, $white, $font_path, $text);
imagejpeg($jpg_image);
imagedestroy($jpg_image);
?>
تا آنجا که اطلاع داریم متاسفانه کتابخانه GD هنوز از فونت های فارسی به درستی پشتیبانی نمی کند!
پارصا
۰۰:۲۵ ۱۳۹۵/۰۴/۲۹
با عرض سلام و خسته نباشید میخواستم بدونم برای طراحی سایت حتما لازمه که html , php , css , و javascript رو یاد بگیرم یا فقط یک یا دو تا از آن ها کافی است؟
در صورتی که بخواهید طراح حرفه ای باشید، یادگیری و تسلط بر موارد فوق الزامی است، اما اگر بخواهید در سطح مقدماتی و مبتدی سایت طراحی کنید، آشنایی با HTML و CSS و استفاده از یک CMS مانند وردپرس کفایت می کند!
علی
۲۳:۱۱ ۱۳۹۵/۰۳/۱۷
وب سایتتون عالیه
بهنام
۲۲:۵۹ ۱۳۹۵/۰۱/۳۰
سلام استاد امیدوارم حالتون خوب باشه.
یه سوال داشتم:
اول این عکس رو ببنیید:
http://s7.picofile.com/file/8247771292/Untitled.png
میخوام نام فیلدها را در صفحه مرورگر با کد خاصی چاپ کنم
نام های : golestan, kerman, tehran
و در ضمن از mysqli استفاده بشه
راستی میخوام بر اساس فیلد ها select option اضافه کنم در صفحه سه تا.
سوالتان کلی است، دقیقا متوجه منظورتان نشدیم! اگر منظورتان این است که نام ستون های جدول را می خواهید استخراج کنید، به پرس و جویی شبیه نمونه زیر نیاز است:
SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = 'my_database' AND TABLE_NAME = 'my_table';
سپس در حلقه می توانید نام ستون ها را داشته باشید، برای select option هم قاعدتا باید با برنامه نویسی PHP آشنا باشید، یک نمونه:
<?php
//connect
$conn = mysqli_connect("localhost", "your_user", "your_pass", "your_db");
//check connection
if (mysqli_connect_errno()) {
echo "Connect failed: " . mysqli_connect_error();
exit();
}
//select query
$loop = 0;
$result = mysqli_query($conn, "SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = 'your_db' AND TABLE_NAME = 'your_table'");
echo '<select name="your_select">' . "\n";
while ($row = mysqli_fetch_array($result)) {
//print_r($row);
if($loop > 0 && $loop < 4){
echo '<option value="' . $row['COLUMN_NAME'] . '">' . $row['COLUMN_NAME'] . '</option>';
}
$loop++;
}
echo "\n" . '</select>' . "\n";
//close
mysqli_close($conn);
?>
ارکانی
۱۰:۴۱ ۱۳۹۴/۱۲/۱۳
سلام...
چطوری میتونم مقدار یک لیست باکس بعد از انتخاب کاربر داخل همون صفحه بگیرم... مثل انتخاب استان ها از لیست باکس اول و براساس انتخاب استان انتخاب شهرهای همون استان از لیست باکس دوم؟
سوالتان پاسخ کوتاهی ندارد و باید با کدنویسی وب آشنا باشید، برای این کار دو راه وجود دارد، نخست اینکه تمام اطلاعات از قبل در صفحه به صورت آرایه در کدهای جاوا اسکریپت وجود داشته باشند که با انتخاب باکس اول یک تابع اجراء شده و منطبق بر مقدار انتخاب شده، آرایه متناظر دریافت و چک باکس دوم به صورت داینامیک (با کدهای جاوا اسکریپت) ساخته شود، راه حل دوم این است که اطلاعات باکس انتخاب شده از طریق Ajax به سرور ارسال و نتیجه در باکس جدید نمایش داده شود.
مثال:
http://www.javascriptkit.com/javatutors/selectcontent.shtml
armita_sh
۱۶:۴۹ ۱۳۹۴/۱۱/۰۶
با سلام
من برای لاگین به بخش ایمیل سایت یاهو از تابع curl استفاده کردم و با موفقیت لاگین کردم که توی لینک زیر میتونید ببینید
http://666666.1gb.ru/mail.yahoo.php
ولی وقتی با همین تابع میخوام صفحه اصلی یاهو رو ببینم صفحه سفید میاد لینک زیر
http://666666.1gb.ru/yahoo.php
وقتی کوکی ها رو پاک کنم اون موقع میشه صفحه اصلی رو دید لینک کوکی ها
http://666666.1gb.ru/cookie.txt
ممنون میشم منو در مورد علت اینکه چرا سایت یاهو سفید میاد راهنمایی کنین
این هم نمونه کد
<?php
$action="http://www.yahoo.com" ;
$ch = curl_init($action);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true );
curl_setopt($ch, CURLOPT_POST, 0 );
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_USERAGENT , 'Mozilla/5.0 (Windows NT 5.1; rv:41.0) Gecko/20100101 Firefox/41.0');
curl_setopt($ch, CURLOPT_POSTFIELDS, "") ;
curl_setopt($ch, CURLOPT_COOKIEJAR, str_replace('','/',dirname(__FILE__)).'/cookie.txt');
curl_setopt($ch, CURLOPT_COOKIEFILE, str_replace('','/',dirname(__FILE__)).'/cookie.txt');
$r=curl_exec($ch);
echo $r;
curl_close($ch);
?>
طبق بررسی و تست ما، پارامتر زیر را به کد اضافه کنید:
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
همچنین قسمت مربوط به CURLOPT_USERAGENT را حذف کنید!
۲۳:۲۰ ۱۳۹۴/۰۹/۳۰
ممنون از مطالبتون
Peyman
۲۳:۱۶ ۱۳۹۴/۰۸/۲۸
سلام دوست من لطفا یه کمک و راهنمایی به من بکنید ممنون میشم ازتون
من یه فرم طراحی کردم که سه قسمت داره که به صورت ok یا notok در value تعریف شده
هربار که کابر این فرم را پر کنه هم در دیتابیس و هم ایمیل میشه موضوع کمک یا راهنمایی همین جاست که من نمیخام همه رو ایمیل کنه و فقط میخام اگر فقط NotOK بود ایمیل ارسال بشه و OK بود ارسال ایمیل نشه و فقط ذخیره بشه ( الان هم ذخیره میشه )
نمونه :
<option value="NotOK">سالم نمیباشد</option>
<option selected="" value="OK">سالم میباشد</option>
لطفا راهنماییم کنید
لینک فایل:
http://s3.picofile.com/file/8223678734/index.rar.html
برای این کار ابتدا باید مقادیر را با متد POST در PHP دریافت و به متغیر نسبت دهید، به فرض:
$lab = $_POST['Lab'];
سپس با دستورات شرطی (if، else و...) مقدار آن را بررسی کنید، اگر مورد نظر بود، تابع ارسال ایمیل اجرا و در غیر اینصورت تابع اجرا نشود، مثال:
   if($lab == 'OK'){
if(!$mail->Send()){
die('PHPMailer error: ' . $mail->ErrorInfo);
}
}
else{
echo 'Lab is NotOK!';
}
ارمین
۰۰:۳۶ ۱۳۹۴/۰۸/۲۶
سلام، ممنون.
فکر کنم منظورم رو اشتباه رسوندم: خب البته که منظورم این نبود:
اما اگر منظور این است که هر بخش از برنامه به صورت یک تابع باشد که در هنگام لزوم ورودی به آن داده شده و خروجی دریافت شود. (و گفتم که نمیخوام دستی وارد کنم، چه تابع فراخواندن چه دستوری نوشتن).
من میخوام که این کار رو هی تکرار نکنم یعنی تابع را دستی صدا کنم و ورودی بدم هر جای برنامه که لازم شد. نه.
مثلا بذارین یه جور دیگه بگم.
مثلا فک کنید که کدهای ما ده خط هستند. میخوام یه کلاسی داشته باشیم که دو تابع درج و انتخاب داشته باشه: (فرض کنید از بالا تا پایین 5 خط تا اینجا).
خب حالا همون حلقه ای که گفتم در قسمت بعد از متغیر name بفهمه دستور بعدی insert کردن. یعنی حلقه انقد هوشمند باشه که خط به خط کدها رو چک کنه و ترتیب اجرای برنامه رو خودش دست بگیره.
من این کد رو مینویسم:
(مثلا بعد از این name):
if(isset($_POST['send'])){
$name=$_POST['name'];
}
بازم خیلی ممنون.
اگرچه تا حدی شرح داده اید، اما توضیحاتتان خیلی شفاف نیست و نمی توان درک درستی از هدف و شیوه کار مورد نظرتان داشت!! به هر صورت در حد برداشت ما، تصور نمی کنیم چنین حالتی شدنی باشد! قاعدتا برای تشخیص اینکه چه تابعی باید کجا اجرا شود، نیاز به نوشتن دستورات کنترلی از جمله دستورات شرطی و چک کردن پارامترها و... است، این هم رویه ای است که در اغلب برنامه ها استفاده می شود، نمی توان حلقه ای نوشت که خودش بین دستورات جستجو کند! به عبارتی هوش مصنوعی نه صرفا با یک حلقه بلکه تنها با نوشتن شرط های منطقی و مقایسه پارامترها و طراحی موتور پایه امکان تحقق دارد و لذا به همان بحث برنامه نویسی شی گراء می رسیم، یک حالت متداول دیگر در PHP استفاده از سیستمی موسوم به MVC یا Model View Controller و موارد مشابه آن است، خارج از قابلیت های شناخته شده PHP نمی توان حالت دیگری به آن صورت که مد نظر شما است ایجاد کرد!، به برداشت ما میزان آشنایی شما با PHP در حال حاضر خیلی زیاد نیست، لذا فراگیری و تمرین بیشتر در این زبان می تواند به داشتن درک بهتر از چند و چون کار و طراحی ساختار برنامه های تحت وب کمک کند.
more لطفا پیش از ارسال دیدگاه نکات زیر را مد نظر داشته باشید:
- به سوالات کلی، زمانبر، مبهم و مشکلاتی که تلاشی برای رفع آنها نکرده باشید پاسخ مختصر داده شده یا به بخش برنامه نویسی اختصاصی ارجاع داده می شوند.
- کدها و اسکریپت های طولانی را ترجیحا در یک صفحه وب آنلاین یا به صورت حساب موقت و آزمایشی قرار دهید تا امکان بررسی دقیق مشکل و خطایابی میسر باشد.
- تمام دیدگاه های ارسالی خوانده شده و برای هر کاربر مدت زمان لازم جهت پاسخگویی در نظر گرفته می شود، لطفا از طرح سوالات متعدد در بازه زمانی کوتاه خودداری کنید.



 refresh
10 × 10
8 × 3
20 × 20
=