article

ارسال پارامتر به URL و دریافت مقادیر با PHP

php-curl-file-get-contents

زمانی که از ارسال پارامتر در وب صحبت می کنیم، بیشتر ذهنمان معطوف به فرم های HTML و متد POST یا GET می شود، البته این شیوه مرسوم و پرکاربردی برای ارسال داده ها از مرورگر (سمت کاربر) به یک سایت (سمت سرور) است، اما گاهی مواقع نیاز است که از این قالب سنتی پا را فراتر بنهیم و از روش های دیگری نیز استفاده کنیم، به فرض از همین استاندارد POST و GET در ارسال درخواست های آژاکسی (Ajax) نیز به سرور استفاده می شود، از طرفی کدها و توابعی در PHP وجود دارد که می توانند علاوه بر ارسال پارامترها به یک سرور (آدرس URL)، پاسخ آن را نیز دریافت کنند، امکان بالقوه ای که می تواند کاربردهای زیادی داشته باشد، از جمله مهمترین این توابع file_get_contents و cURL هستند که در ادامه آموزش به آنها خواهیم پرداخت.

تابع file_get_contents


از تابع file_get_contents در PHP برای خواند اطلاعات یک فایل یا آدرس URL استفاده می شود، به عنوان مثال:
<?php
$homepage = file_get_contents('https://webgoo.ir/');
echo $homepage;
?>
کد بالا با ارسال یک درخواست به آدرس تعیین شده، پاسخ سرور (که صفحه اول سایت «وبگو» است) را به صورت رشته متنی دریافت می کند، اکنون اگر با دستور echo از متغیر فرضی homepage خروجی بگیریم، اطلاعات دریافت شده نمایش داده می شوند.
تابع file_get_contents  پنج آرگومان به شرح زیر می پذیرد:
- آرگومان اول (filename): نام (یا آدرس) فایل یا URL.
- آرگومان دوم (use_include_path): فراخوانی فایل از دایرکتوری include_path در تنظیمات PHP.
- آرگومان سوم (context): محتوایی که به همراه درخواست ارسال می شود، این محتوا باید توسط تابع  stream_context_create (و بر اساس استانداردهای HTTP context options) ساخته شود تا معتبر باشد، تنظیمات قابل اعمال در این قسمت عبارتند از: method، header، user_agent، content، proxy، request_fulluri، follow_location، max_redirects، protocol_version، timeout و ignore_errors؛ اطلاعات بیشتر:
http://php.net/manual/en/context.http.php
- آرگومان چهارم (offset): محل و خط شروع خواندن اطلاعات (این قابلیت به دلیل پشتیبانی نشدن برای فایل های لوکال و محدودیت هایش، چندان کاربردی نیست).
- آرگومان پنجم (maxlen): حداکثر کاراکتری که تابع خواهد خواند (در حالت پیش فرض تمام اطلاعات خوانده می شود).

تابع file_get_contents و متد POST


تابع file_get_contents علاوه بر دریافت پاسخ یک سرور، این توانایی را دارد که در چاچوب متد POST پارامترهایی نیز به سرور مقصد ارسال نماید، همان طور که در توضیح آرگومان های آن گفته شد، این پارامترها باید در چارچوب استاندارد HTTP بوده و پیش از ارسال توسط تابع stream_context_create معتبر شوند، به این ترتیب می توان نحوه کار فرم های HTML را به راحتی شبیه سازی کرد، ضمن اینکه علاوه بر ارسال پارامترها، می توان هم زمان نتیجه درخواست را نیز دریافت کرد، به مثال زیر توجه کنید.
<?php
//مقادیری که باید ارسال شوند
$data = http_build_query(
    array(
    'var_1' => 'content_1',
    'var_2' => 'content_2',
    'var_3' => 'content_3'
    )
);
//تنظیم سربرگ های http
$http = array('http' =>
    array(
    'method'  => 'POST',
    'header'  => 'Content-type: application/x-www-form-urlencoded',
    'content' => $data
    )
);
//معتبر سازی با stream_context_create
$context = stream_context_create($http);
//ارسال درخواست و دریافت نتیجه
$result = file_get_contents('http://www.example.com/submit/get.php', FALSE, $context);
?>
نکته: برای نمایش نتیجه دریافتی می توانید از یک دستور ساده echo استفاده کرده و از متغیر result خروجی بگیرید.

تابع cURL


یکی از قدرتمند ترین کتابخانه های مربوط به کار با پروتکل های وب در PHP، کتابخانه libcurl است که از نسخه 4.0.2 به آن افزوده شده است، البته این کتابخه به صورت پیش فرض در مفسر PHP وجود ندارد، اما به جهت کاربردی بودن، معمولا در اکثر سرورها به صورت پیش فرض فعال است، به طور ساده کتابخانه libcurl دربرگیرنده مجموعه توابعی است که کار با پروتکل های وب (از جمله HTTPS، HTTP، FTP و...) را به صورت حرفه ای و با قابلیت های زیاد ممکن می کند، به مثال زیر توجه کنید.
<?php
$content = 'PHP cURL';
$curl = curl_init('http://www.example.com/submit/get.php');
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, 'var='.$content);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, FALSE);
$result = curl_exec($curl);
curl_close($curl);
?>
همان طور که در مثال بالا مشخص است، توابع مربوط به این کتابخانه با پیشوند _curl شروع می شوند، اما توضیح مختصری درباره برخی توابع این کتابخانه:
- تابع curl_init: با دریافت یک آدرس url، نشست cURL را آغاز می کند.
- تابع curl_setopt: تنظیم پارامترهای مورد نیاز برای اجرای صحیح یک نشست cURL.
- تابع curl_exec: اجرای یک نشست cURL.
- تابع curl_close: پایان یک نشست cURL.
- تابع curl_error: آخرین خطای رخ داده در نشست را نمایش می دهد.
- تابع curl_errno: شماره خطای برگردانده شده را نمایش می دهد.
البته توابع مربوط به این کتابخانه محدود به موارد گفته شده نمی شود:
http://www.php.net/manual/en/book.curl.php
به مثالی کاربردی توجه کنید.
<?php
//تنظیم آدرس url
$curl = curl_init('http://www.example.com/submit/get.php');
//تنظیم ارسال از طریق متد POST
curl_setopt($curl, CURLOPT_POST, 1);
//تنظیم پارامترها
curl_setopt($curl, CURLOPT_POSTFIELDS, 'var_1=content_1&var_2=content_2&var_3=content_3');
//تعین اینکه پاسخ سرور دریافت شود یا خیر
curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
//اجرای نشست
$result = curl_exec($curl);
//پایان نشست
curl_close($curl);
?>
توضیح:
- آدرس url مقصد را در قسمت curl_init مشخص کنید.
- در تنظیمات مربوط به CURLOPT_POST، متد استفاده شده در درخواست را مشخص می کنیم، اگر مقدار 1 یا TRUE باشد، مقادیر CURLOPT_POSTFIELDS از طریق متد POST ارسال شده و پارامترهای احتمالی در آدرس URL نادیده گرفته می شوند (امکان ترکیب متد POST و GET در این حالت وجود ندارد).
- در تنظیمات قسمت CURLOPT_POSTFIELDS، پارامترها و مقادیر آنها را تعیین کنید، این پارامترها در واقع نقش نام فیلد و مقادیر آنها نقش مقدار فیلد را در یک فرم HTML بازی می کنند.
- در قسمت CURLOPT_RETURNTRANSFER، مشخص می کنیم که آیا پاسخ سرور نیز پس از ارسال درخواست دریافت شود یا خیر، اگر مقدار TRUE باشد، پاسخ به صورت رشته متنی دریافت می شود و اگر FALSE باشد، پاسخ دریافت نمی شود.
- برای تکمیل یک نشست cURL باید حتما با تابع curl_exec آن را اجرا کنیم.
- در نهایت نیز با تابع curl_close، نشست cURL را خاتمه می دهیم.
نکته: برای نمایش نتیجه دریافتی می توانید از یک دستور ساده echo استفاده کرده و از متغیر result خروجی بگیرید.
sectionدسته بندی: آموزش کاربردی » PHP
related مطالب بیشتر:
» نمایش آمار بازدیدها با PHP بدون استفاده از دیتابیس
» نمایش قسمتی از متن و پاراگراف با PHP
» دریافت و نمایش پیج رنک گوگل با PHP
» ارسال ایمیل با PHP و کلاس phpmailer
» ساخت فید خوان آر اس اس (RSS Feed Reader) با PHP
commentنظرات (۱۲۰ یادداشت برای این مطلب ارسال شده است)
more یادداشت های جدید بر اساس تاریخ ارسال در انتهای یادداشت های موجود نمایش داده می شوند.
نویسنده: سمیرا
۱۱:۱۸ ۱۳۹۲/۰۱/۲۵
با سلام . ممنون از اموزشها و سایت خوبتون . اموزشهای تالیفی شما واقعا در سایتهای ایرانی تکه . یه سوال داشتم از خدمتتون . کاربرد تابع
ob_start()
اگه امکان داره یه توضیح مختصر بدید اینکه کجاها باید استفاده کنیم .
پاسخ: 
سلام
تابع ob_start برای نگهداری موقت اطلاعات (buffering) پیش از گرفتن خروجی از آنها استفاده می شود، به فرض در حالت عادی مفسر PHP با هر دستور echo خروجی را به مرورگر ارسال می کند، اما با استفاده از ob_start می توان خروجی را در سمت سرور به صورت موقت نگهداری و هر زمان نیاز بود با تابع ob_get_contents دریافت کرد و در صورت لزوم به مرورگر ارسال نمود، البته معمولا باید طوری کد بنویسیم که نیاز به این نوع توابع نباشد، اما مواقعی پیش می آید که به طور مثال کد شما باید پیش از ارسال خروجی، ابتدا به طور کامل اجرا شود، سپس تصمیم بگیرد که خروجی باید دهد یا اینکه به فرض یک دستور redirect تنظیم کند.
یا به فرض می توان کدهای HTML را در کنار دستورات PHP نوشت، بدون اینکه نیاز باشد آنها را درون تگ های PHP بنویسیم، به فرض در حالت عادی:
<?php
$output = '<div class="block">HTML</div>';
?>
و با استفاده از ob_start:
<?php
ob_start();
?>
<div class="block">HTML</div>
<?php
$output = ob_get_clean();
?>
نکته: تابع ob_get_clean اطلاعات نگهداری شده فعلی (خروجی قبل از تابع) را دریافت و سپس آنها را از حافظه پاک می کند، اما در ادامه کد مجددا می توان اطلاعات بعدی را نگهداری کرد.
نویسنده: سمیرا
۱۹:۴۲ ۱۳۹۲/۰۱/۲۵
ممنون استاد . لطف کردید .
نویسنده: hamid62
۱۶:۴۳ ۱۳۹۲/۰۱/۲۶
سلام . درود به شما . ميشه درمورد مفهوم كش (cashe) توضيح بديد كه چيه .مثلا در فريم ورك ها خيلي در مورد كشينگ بحث ميشه
پاسخ: 
سلام
cache یا caching در مجموع با هدف افزایش سرعت بارگذاری و نمایش سایت استفاده می شود، به زبان ساده یعنی استفاده از صفحات و مقادیر استاتیک ذخیره شده در سرور به جای ارسال پرس و جوهای بی مورد دیتابیس که در کل موجب کند شدن سرعت سایت می شود، فرض کنید صفحه ای از سایت شما حداقل تا یک ساعت آینده تغییری نخواهد داشت، در این بین ممکن است 1000 درخواست به آن ارسال شود و برنامه شما نیز 1000 درخواست به دیتابیس ارسال کند، البته شاید در حالت عادی اتفاقی نیفتد، اما برای سایت هایی که بازدید خیلی بالایی دارند یا به میزان زیادی بر روی دیتابیس متکی هستند، این امر ممکن است باعث کندی پاسخ دهی سرور شود، لذا اینگونه سایت ها اقدام به ایجاد سیستم کش کردن صفحات بدون تغییر، در بازه زمانی مشخص می کنند، البته اینکه در کجا و چگونه می توان از cache استفاده کرد نیازمند آشنایی و تسلط کامل است، در غیر این صورت ممکن است صفحاتی را کش کنید که نیاز به به روزرسانی مداوم دارند، یا میزان زیادی از فضای هارددیسک سرور را به فایل های کش شده اختصاص دهید و مشکلاتی از این دست، در PHP روش های زیادی برای انجام این کار وجود دارد که برخی از آنها شیوه های خاص خود را دارند، از جمله:
- استفاده از توابع APC
- استفاده از Zend Platform
- نوشتن سیستم کش شخصی
و...
نویسنده: محمدرضا
۱۱:۱۷ ۱۳۹۲/۰۱/۳۰
سلام
عالی بود
نویسنده: irsms
۱۲:۵۵ ۱۳۹۲/۰۲/۱۷
ممنون
نویسنده: امین
۱۹:۰۸ ۱۳۹۲/۰۳/۲۶
سلام
من میخوام یه مترجم قالب درست کنم که یه کد قالب رو بگیره بعد با
str_replace();
کدهای مورد نظر رو عوض کنه و نمایش بده
ولی وقتی میخواد نمایش بده قالب نتیجه رو فقط تا یه تعداد کاراکتر نشون میده. مشکل از چیه؟
با تشکر
پاسخ: 
سلام
اگر اطلاعات در دیتابیس ذخیره و سپس نمایش داده می شوند، ممکن است از انتخاب اشتباه نوع داده به فرض به صورت VARCHAR با تعداد کاراکتر محدود باشد، اما اگر نمایش خروجی به صورت مستقیم است، کدها باید بررسی شوند.
نویسنده: حامد
۱۲:۲۱ ۱۳۹۲/۰۳/۲۷
ارور Undefined index در php چیست ؟مثل
Notice: Undefined index: password in C:\wamp\www\project\index\home.php on line 59
پاسخ: 
خطای Undefined Index هنگامی بروز می کند که یک متغیر به صورت آرایه در بخشی از کد استفاده شده باشد، اما آن آرایه به هر دلیل خالی یا فاقد آن کلید باشد.
نویسنده: hb
۲۳:۵۰ ۱۳۹۲/۰۴/۱۴
یا سلام لطفا در مورد این ارور توضیح دهید
از سشن و هدر ایراد میگیره!
پاسخ: 
سلام
کدام ارور؟! متن خطا را درج نکردید!
نویسنده: hb
۰۹:۴۷ ۱۳۹۲/۰۴/۱۵
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/musiccom/public_html/admin/add.php:1) in /home/musiccom/public_html/admin/add.php on line 6
در مورد این ارور من از ob_Start هم استفاده کردم در جایی درست شد اما قاعده کلیش نمیدونم چیه لطفا راهنمایی کنید
پاسخ: 
در پاسخ به درخواست مرورگر از سرور، اولین چیزی که ارسال می شود سربرگ هایی تحت استاندارد HTTP هستند، مانند یونیکد صفحه، کوکی و... لذا وقتی از توابعی که هنگام اجرا این سربرگ ها را تولید می کنند (به طور مثال تابع session_start یک کوکی به مرورگر ارسال می کند) استفاده می کنیم، باید اولین خروجی کدهای ما، این سربرگ ها باشند نه کاراکتر مرئی یا نامرئی دیگری، اگر چه ممکن است کدهای ما به ظاهر قبل از فراخوانی توابع، خروجی مرئی تولید نکنند، اما برخی ویرایشگرها کاراکترهایی نامرئی به نام BOM یا Byte Order Mark را به ابتدای کدها اضافه می کنند که این کار موجب بروز مشکل می شود، نتیجه:
- قبل از فراخوانی توابعی که سربرگ ارسال می کنند، نباید هیچ خروجی توسط کدها ارسال شود.
- برای اطمینان همیشه با استفاده از ویرایشگرهای حرفه ای مانند ++Notepad کاراکترهای اضافه BOM را در هنگام ذخیره سازی حذف کنید.
- راه حل استفاده از تابع ob_Start نیز یک روش جایگزین محسوب می شود، چون این تابع مانع ارسال خروجی توسط کدها شده و تنها زمانی که بخواهیم می توانیم خروجی را ارسال کنیم.
نویسنده: hb
۱۹:۴۱ ۱۳۹۲/۰۴/۱۵
متشکرم اول به خاطر سایت خوبتون دوم به خاطر پاسخ جامع و مفیدتون
مشکلم همین بود و حل شد
نویسنده: hosein
۲۰:۵۹ ۱۳۹۲/۰۴/۲۴
با سلام و تشکر از سایت خوبتون
من یک سوال دارم
یک صفحه با پی اچ پی نوشتم ضمن استفاده از
$_SERVER[PHP_AUTH_USER]
اما مشکلی که هست این صفحه نمیتونه روی تمام فایل ها بشینه و مثل restrict اپاچی رمز بخواد
حالا من می خوام یوزر پسورد را با پی اچ پی دریافت کنم همین کارم کردم مشکلم اینه که چطور روی فولدر مورد نظر فایل ها قفل باشن تا این صفحه که یوزر پسورد دریافت میکنه بیاد بالا (به جز فایلی که یوزر پسورد دریافت میکنه بقیه فایل ها پی اچ پی نیستند)
پاسخ: 
سلام
این کار در درجه اول نیاز به تجربه و آشنایی با دستورات htaccess و همچنین سربرگ های header در PHP دارد، در غیر این صورت ممکن است چندان ساده به نظر نرسد.
- ابتدا یک فایل htaccess. باید در ریشه سایت داشته باشید که لیستی از دایرکتوری های مربوط به فایل ها به صورت نمونه زیر در آن باشد:
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_URI} ^\/(path\/to\/folder_1|folder_2|folder_3)\/.*$
RewriteRule !^((.*.php)|(.*\/))$ authorize/login.php
- بر طبق این کد، باید در دایرکتوری فرضی authorize فایلی به نام login.php داشته باشید که هنگامی که فایل ها از مسیرهای تعیین شده در دستور RewriteCond فراخوانی می شوند، به این آدرس جهت بررسی نام کاربری و کلمه عبور هدایت شوند.
- در این فایل، نام کاربری و کلمه عبور را با سرور تطبیق دهید و در صورت صحیح بودن با استفاده از تجزیه REQUEST_URI (برای تشخیص دایرکتوری و نام فایل) و همچنین دستورات header می توانید فایل را به مرورگر ارسال کنید.
نویسنده: hosein
۱۳:۰۳ ۱۳۹۲/۰۴/۲۵
متشکر متشکر متشکرم
هم از پاسخ گویی و هم از سایت خوبتون
نویسنده: مهدی
۲۳:۰۲ ۱۳۹۲/۰۴/۲۷
سلام
این پارامتر ها رو به صفحه مقصد فرم ارسال می کنیم. تا اینجا مشکلی نیست.
می خواستم بدونم چطور میشه توی صفحه ای که دارای فرم هست میشه فرم ها رو پر کرد با 1 بار لود صفحه.
مثلا فرم نطر شما با 1 بار لود پر شه (به صفحه ی مقصد فرم ارسال نکنه)
پاسخ: 
سلام
هر چند منظور سوالتان دقیقا مشخص نیست، اما به نظر می خواهید اطلاعات فرم را بدون رفرش صفحه به سرور ارسال کنید، در این صورت باید از آژاکس (Ajax) و تکنیک های مبتنی بر آن بهره ببرید که خود مبحث جداگانه دارد.
نویسنده: مهدی
۲۳:۵۷ ۱۳۹۲/۰۴/۲۷
سلام
شاید منظورم رو بد رسوندم.
ما 2 تا صفحه داریم
1.contact.php
2.contact.php?step=send
در صفحه 1 فرم وجود داره که باید پر بشه مثلا نام و ایمیل و ....
در صفحه 2 با post این اطلاعات دریافت میشه و در دیتابیس ذخیره می شه یا به صورت میل ارسال میشه با استفاده از این متد ها ما پارامتر ها را به صفحه ی 2 ارسال می کنیم. حالا می خواستم بدونم چطوری می تونیم داخل فیلد (input) های صفحه 1 اطلاعات را وارد کنیم و اون رو پر کنیم.
آیا چنین راهی وجود دارد؟
با تشکر از شما و سایت خوبتون
پاسخ: 
سلام
منظور از "داخل فیلد (input) های صفحه 1 اطلاعات را وارد کنیم و اون رو پر کنیم" مشخص نیست، حدس می زنیم منظور درج یک مقدار پیش فرض برای فیلدها باشد که در این صورت می توانید برای قسمت value یک مقدار در نظر بگیرید، به طور مثال:
<?php
$name = NULL;
if(!isset($_POST['name'])){
$name = 'مقدار پیش فرض';
}
else{
$name = $_POST['name'];
}
?>
<input type="text" name="name" value="<?php echo $name ?>">
نویسنده: aram
۰۰:۰۹ ۱۳۹۲/۰۴/۳۱
با سلام من می خوام سایتی را طراحی کنم که قیمت یک کالا را از یک سایت دریافت کند و نشان بدهد
متشکرم
پاسخ: 
سلام
لطفا از طرح سوالات کلی اجتناب کنید، مشخص نیست مشکل شما در کدام قسمت از طراحی این سایت است؟!
به هر صورت در کل باید با توابعی مانند file_get_contents، cURL و preg_match آشنا باشید تا بتوانید اطلاعات صفحه را دریافت و تجزیه کنید.
more لطفا پیش از ارسال یادداشت نکات زیر را مد نظر داشته باشید:
- مواردی که به کلی خارج از موضوع این مطلب هستند را در فرم منوی "تماس با ما" مطرح و پاسخ را از طریق ایمیل دریافت کنید.
- به سوالات کلی، مبهم، غیرضروری و مشکلاتی که تلاشی برای رفع آن نکرده باشید پاسخ کوتاه و مختصر داده خواهد شد!
- کدها و اسکریپت های طولانی را ترجیحا در یک صفحه وب آنلاین قرار دهید تا امکان تست و بررسی وجود داشته باشد.
- تمام یادداشت ها بررسی و برای هر کاربر زمان مشخصی جهت پاسخگویی در نظر گرفته می شود، لطفا از طرح سوالات متعدد در بازه زمانی کوتاه خودداری کنید.





6 × 3
 refresh
آخرین دیدگاه ها
more برای دسترسی سریع به یادداشت مربوطه می توانید از لینک مطلب در کادر زیر استفاده کنید.
form نبی
در:
‏asc و desc رو جابجا نوشتی
۱۳۹۹/۰۷/۰۴

form ساناز محمدی
در:
سلام مرسی از کدی که گذاشتید ♥
۱۳۹۹/۰۷/۰۳

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

form سعید
در:
سلام دستتون درد نکنه از پروژه شما استفاده کردم فقط یه مشکل اگه در یک صفحه دو تا لیست کشویی داشته باشیم چطوری...
۱۳۹۹/۰۷/۰۱

form Iman Mafakheri
در:
سلام من یه قالب خارجی اوردم راست چینش کردم حتی فونتشم تغییر دادم اما متاسفانه وقتی متن فارسی مینویسم حروف رو جدا جدا مینویسه نمیدونم...
۱۳۹۹/۰۶/۳۰

form میثم صدیق
در:
سلام برای اضافه کردن یک المان با (append) من یک کلید گذاشتم اضافه میشه ولی با هر بار کلیک کردن اضافه میشود اگر بخواییم یک...
۱۳۹۹/۰۶/۲۹

form amin
در:
سلام و خسته نباشید می خواستم Slash ( / ) رو به صورت اتوماتیک از تمامی URL ها حذف کنم البته با کمک htaccess...
۱۳۹۹/۰۶/۲۵

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

form سروش
در:
سلام . من اطلاعات را از دیتابیس دریافت میکنم و در جدول میبینم . میخوام مثلا 6 مورد آخر را در یک ردیف ببینم و...
۱۳۹۹/۰۶/۲۳

form Behdad kanani
در:
سلام اصلا نمی شه اینکارو انجام داد
۱۳۹۹/۰۶/۲۲

form جعفری
در:
سلام قبل از تبدیل تاریخ نوشتید مثلا خب این مقدار تاریخ برای من در دیتابیس در جدولی بنام startedtm بصورت یونیکس...
۱۳۹۹/۰۶/۲۰

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

form شیما
در:
سلام آیا وقتی در قسمت وبلاگ دوستان وبلاگی رو ثبت میکنیم صاحب وبلاگ با استفاده از برنامه های خاصی میتونه متوجه بشه ؟
۱۳۹۹/۰۶/۱۹

form mahtab
در:
سلام خسته نباشین من نمیدونم چرا مدیریت وبم برام باز میشه اما وقتی میزنم مشاهده وب رو میزنم نمیاره واسم فقط امیدوارم هک...
۱۳۹۹/۰۶/۱۸

form ساناز محمدی
در:
سلام دوباره این ساب دامین بنده هست اگر یکی از مطالب را مشاهده کنید هر محصولی که ارسال شده داخل از طریق مدیریت یک...
۱۳۹۹/۰۶/۱۷
form محسن
در:
سلام و عرض ادب مجدد کد زیر هم کار نمیکنه مشکل چی میتونه باشه ؟!
۱۳۹۹/۰۶/۱۶
form ساناز محمدي
در:
سلام بنده یه ساب دامین دارم با دامنه شخصی حالا داخل این ساب دامین طرف آدرس سایت خودش رو داخل ساب دامین بنده میذاره مثلآ...
۱۳۹۹/۰۶/۱۶
form محسن
در:
سلام و عرض ادب لطفا راهنمایی کنید مشکل کد زیر چیه
۱۳۹۹/۰۶/۱۶
form احمد
در:
با عرض سلام ببخشید من با دستور append میخوام یه سطری رو به سبدم اضافه کنم ولی چطوری باید داخل append تگ ها رو بنویسم...
۱۳۹۹/۰۶/۱۵
form احمد
در:
با عرض سلام مجدد و خسته نباشید ببخشید طبق فرمایش شما من قبل از دستور else دستور if را نوشته بودم تا جایی که اطلاع...
۱۳۹۹/۰۶/۱۴
form احمد
در:
با سلام ببخشید طریقه استفاده از دستور else در ایجکس به چه صورت هست ایا باید دوباره فانکشن دان رو در هنگام شرط گذاشتن بزارم....
۱۳۹۹/۰۶/۱۳
form مجتهد
در:
سلام ابتدائا از سایت مفیدتون تشکر می کنم. من خیلی از آموزه هام رو از سایت شما یاد گرفتم. یه سوال دارم...
۱۳۹۹/۰۶/۱۳
form محمد حسین
در:
سلام لینک های من وقتی کلیک شوند اررور 404 تولید میکنند. علت چیست؟
۱۳۹۹/۰۶/۱۱
form حسین
در:
سلام بر شما و با تشکر از سایت خوبتون. من ابتدا با تابع mail پیش رفتم و یک if ایجاد کردم که اگر ایمیل...
۱۳۹۹/۰۶/۱۰
form mehdi
در:
خطای -22 مربوط به چیه؟
۱۳۹۹/۰۶/۱۰
  در انتظار بررسی: ۱
 پاسخگویی به سوالات ممکن است تا 24 ساعت زمان ببرد.