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

زمانی که از ارسال پارامتر در وب صحبت می کنیم، بیشتر ذهنمان معطوف به فرم های 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 خروجی بگیرید.
دسته بندی: آموزش کاربردی » PHP
برچسب ها: PHP

دریافت و نمایش پیج رنک گوگل با PHP
ساخت فید خوان آر اس اس (RSS Feed Reader) با PHP
تبدیل تاریخ میلادی، شمسی با مبدل JDF در PHP
نمایش آمار بازدیدها با PHP بدون استفاده از دیتابیس
محدود کردن لینک دانلود مستقیم فایل ها با PHP و htaccess
دیدگاه


حسین
۱۹:۲۴ ۱۳۹۵/۰۶/۱۰
با سلام
و عرض خسته نباشید
چطور میتونیم از کتابخانه curl در لوکال هاست استفاده کنیم؟
ممنون به خاطر زحماتتون
و عرض خسته نباشید
چطور میتونیم از کتابخانه curl در لوکال هاست استفاده کنیم؟
ممنون به خاطر زحماتتون
باید اکستنشن مربوطه را از تنظیمات برنامه سرور مجازی خود فعال کنید، به طور مثال در برنامه WampServer از قسمت PHP به PHP Extensions بروید و تیک مربوط به php_curl را فعال کنید!
۰۰:۴۲ ۱۳۹۵/۰۵/۲۷
ممنون از مطلب خوبتون
غریب
۰۷:۴۷ ۱۳۹۵/۰۵/۱۸
سلام عزیز خسته نباشید
سوالی داشتم ممنون میشم پاسخ بدید
همونجور که میدونید متد گت رو میشه با استفاده از یک لینک هم ارسال و دریافت کرد و نیازی به فرم نیست حالا اگه بنده مقادیر ارسالیم بصورت فرم نباشه یعنی میخوام خودم بدون استفاده از فرم ارسال کنم بصورت پست چیکار بیاید کنم
بطور مثال بنده صفحه ای دارم که میخوام در چند زمینه ازش استفاده کنم بنا به خواستم هر بار تغییراتی مثل گت ارسال کنم اما در ادرس سایت دیده نشه ممنون میشم راهنماییم کنید
مقالات زیادی رو دنبال کردم همشون با استفاده از فرم بودند خواهش میکنم اگه راه ساده ای داره راهنماییم بفرمایید ممنون و موفق باشید
سوالی داشتم ممنون میشم پاسخ بدید
همونجور که میدونید متد گت رو میشه با استفاده از یک لینک هم ارسال و دریافت کرد و نیازی به فرم نیست حالا اگه بنده مقادیر ارسالیم بصورت فرم نباشه یعنی میخوام خودم بدون استفاده از فرم ارسال کنم بصورت پست چیکار بیاید کنم
بطور مثال بنده صفحه ای دارم که میخوام در چند زمینه ازش استفاده کنم بنا به خواستم هر بار تغییراتی مثل گت ارسال کنم اما در ادرس سایت دیده نشه ممنون میشم راهنماییم کنید
مقالات زیادی رو دنبال کردم همشون با استفاده از فرم بودند خواهش میکنم اگه راه ساده ای داره راهنماییم بفرمایید ممنون و موفق باشید
لطفا آموزش را مطالعه کنید، مطلب دقیقا در همین خصوص است! در قسمت های مشخص شده به صورت var در واقع نام فیلد و در قسمت content محتوا را قرار داده و با کدنویسی سمت سرور (PHP) آن را مدیریت نمائید، متاسفانه راه ساده تری که نیاز به کدنویسی نداشته باشد، وجود ندارد!
۱۷:۴۸ ۱۳۹۵/۰۳/۳۱
ممنون که پاسخ دادین
ولی میشه با
(یعنی کدی که بتونه متن نظر و نام و سایت رو غیر حضوری به سایت طرف ارسال کنه)
ممنون بخاطر راهنمایی ها و سایت خوبتون
ولی میشه با
file_get_contents , preg_match
در عین حال که این مقادیر با curl ارسال میشن کد رو هم بصورت دستی وارد کرد؟ اگه میشه می تونین یه کدی شبیه به اون که این کارو برام انجام بده بدین.(یعنی کدی که بتونه متن نظر و نام و سایت رو غیر حضوری به سایت طرف ارسال کنه)
ممنون بخاطر راهنمایی ها و سایت خوبتون
برای این کار باید زمان بگذارید و متناسب با کدنویسی سایت مورد نظر، دستورات را بنویسید، البته اگر کد امنیتی به صورت تصویر یا رمزی شده باشد به این راحتی قابل خواندن و استفاده نیست، نمونه کد:
http://www.html-form-guide.com/php-form/php-form-submit.html
۱۸:۳۲ ۱۳۹۵/۰۳/۳۰
با سلام
من میخوام یه سیستم ارسال نظر گروهی درست کنم و تقریبا اولاشو رفتم اما حالا نمی تونم مثلا نام و متن پیام و ادرس سایت رو به صفحه ی ارسال نظر ارسال کنم.
مثلا این سایت منه (جایی که می خوام از اونجا به سایت طرف نظر ارسال کنم)
من میخوام یه سیستم ارسال نظر گروهی درست کنم و تقریبا اولاشو رفتم اما حالا نمی تونم مثلا نام و متن پیام و ادرس سایت رو به صفحه ی ارسال نظر ارسال کنم.
مثلا این سایت منه (جایی که می خوام از اونجا به سایت طرف نظر ارسال کنم)
http://mysite.ir/send/comment
اینم صفحه ی طرفه که کاربران از اونجا نظراتشون رو ارسال میکننhttp://blog.ir
میخواستم بدونم میشه با curl از سایت خودم به سایت طرف مقادیری مثل متن و نام رو ارسال کرد (بدون رجوع به سایت طرف)بله چنین امکانی وجود دارد منتها معمولا سیستم ارسال نظر مبتنی بر کد امنیتی است که این کار را تقریبا غیرممکن یا لااقل خیلی سخت می کند.
ferhad
۱۳:۴۶ ۱۳۹۵/۰۳/۰۶
با سلام
در کد زیر
در کل تفاوت این علایم در چی هست و به چه دردی میخورن؟
ممنون میشم توضیح بدید تو هیچ جا توضیحی در موردش وجود نداره.
با تشکر
در کد زیر
curl \
-X POST \
-F 'password=<your_password>' \
معنی -X و -F چیه؟ برای استفاده از این API باید یه درخواست ساده post در curl ارسال بشه؟در کل تفاوت این علایم در چی هست و به چه دردی میخورن؟
ممنون میشم توضیح بدید تو هیچ جا توضیحی در موردش وجود نداره.
با تشکر
این علائم می توانند در خط فرمان دستوری ترمینال های تحت شبکه (Terminal Command line) کاربرد داشته باشند که به فرض از قابلیت هایی مانند JSON برای تعامل بین دستورات کاربر و سیستم و رد و بدل کردن اطلاعات استفاده می کنند، هر علامت نشانه اختصاری از یک پارامتر یا دستور است که در لینک زیر می توانید اطلاعات خوبی در مورد آنها به دست آورید:
https://curl.haxx.se/docs/manpage.html
به طور مثال علامت X به معنی ارسال یک درخواست با فرمت زیر است:--request <command>
matin
۱۴:۲۹ ۱۳۹۵/۰۲/۱۹
سلام ، مرسى بابت مطالب خيلى خوبتون
مى خواستم بدونم براى ارسال تحت پروتكل https چه كار بايد كرد
خيلى ممنون
مى خواستم بدونم براى ارسال تحت پروتكل https چه كار بايد كرد
خيلى ممنون
تفاوت خاصی وجود ندارد، معمولا با افزودن پارامتر زیر به تابع curl مشکل دیگری پیش نمی آید:
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
مهدی
۱۶:۴۷ ۱۳۹۵/۰۲/۰۸
سلام. من یک ربات در تلگرام دارم که میخوام به تمامی کاربرانم پیام ارسال کنم. chat_id کاربرانم رو هم دارم مثلا 5000 کاربر دارم اما وقتی با متد foreach بهشون پیام ارسال میکنم php خطا میده ؟ اما ربات های رایگان با همین تعداد کاربر در عرض 10 ثانیه پیام ارسال میکنن به همه کاربرا ؟
چی کار کنم الان ؟
چی کار کنم الان ؟
به نظر سوالتان بیش از اینکه به PHP مربوط باشد، مربوط به API تلگرام است، لطفا در انجمن ها و سایت های مرتبط با تلگرام مشکل را مطرح کنید.
احسان
۲۱:۵۶ ۱۳۹۵/۰۲/۰۷
با سلام
ممنون از پاسخگوییتون ولی پس ور رفتن زیاد متوجه شدم که فرم صفحه ی مذکور از توکن استفاده نمیکنه و فقط مشکل استفاده از space بود در این خط
ممنون از پاسخگوییتون ولی پس ور رفتن زیاد متوجه شدم که فرم صفحه ی مذکور از توکن استفاده نمیکنه و فقط مشکل استفاده از space بود در این خط
curl_setopt($curl, CURLOPT_POSTFIELDS, 'email=tibavpn@mailinator.com & city_id=42546');
و بعد از حذف این فضاهای خالی مشکل حل شد و علتی که من از فضای خالی استفاده کردم این بود که هم کدم خوانا تر بشه و هم اینکه تا جایی که یادمه در Php فضاهای خالی نادیده گرفته میشن!ممنون از درج علت رفع مشکل، فضای خالی زمانی نادیده گرفته می شود که جزئی از مقادیر پردازشی نباشد، به طور مثال فاصله بین بستن یک دستور و شروع دستور دیگر، در اینجا فضای خالی می تواند جرئی از یک آدرس URL باشد که احتمالا در تابع curl با معادل HTTP آن یعنی 20% جایگزین می شود.
احسان
۲۲:۱۶ ۱۳۹۵/۰۲/۰۶
با سلام من از تابع file_get_contents طبق آموزشتون استفاده کردم ولی فکر کنم این تابع اصلا اطلاعات رو بصورت post ارسال نمیکنه !!! , من خواستم دو تا پارامتر که شامل آدرس ایمیل و شهر هستش رو به یه url و به روش post ارسال کنم تا کد تخفیفی که میخوام به ایمیلم ارسال بشه ولی کدم کار نمیکنه!!
<?php
$data = http_build_query(
array(
'email' => 'tibavpn@mailinator.com',
'city_id' => '42546'
)
);
$http = array('http' =>
array(
'method' => 'POST',
'header' => 'Content-type: application/x-www-form-urlencoded',
'content' => $data
)
);
$context = stream_context_create($http);
$result = file_get_contents('http://netbarg.com/tehran/subscribe', FALSE, $context);
//print_r($result); exit();
?>
به روش curl هم نوشتمش که بازم کار نمیکنه! :(<?php
$curl = curl_init('http://netbarg.com/tehran/subscribe');
//تنظیم ارسال از طریق متد POST
curl_setopt($curl, CURLOPT_POST, 1);
//تنظیم پارامترها
curl_setopt($curl, CURLOPT_POSTFIELDS, 'email=tibavpn@mailinator.com & city_id=42546');
//تعین اینکه پاسخ سرور دریافت شود یا خیر
curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
//اجرای نشست
$result = curl_exec($curl);
print_r(curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE));
//پایان نشست
curl_close($curl);
?>
نتیجه ندادن کدهای شما به علت وجود سیستم Token در فرم سایت مورد نظر است (و این یعنی مدیر سایت مذکور علاقه ای ندارد که درخواست هایی خارج از دامنه اصلی به سرور ارسال شوند!)، این سیستم کار ارسال درخواست های غیر از دامنه سایت اصلی را دشوار می کند (در واقع اطلاعات ارسال می شوند، اما در سایت مورد نظر به دلیل عدم ارسال مقادیر Token معتبر، پردازش نمی شوند) و معمولا راه حل ساده ای برای به اصطلاح دور زدن آن وجود ندارد (نیازمند شبیه سازی عملیات مرورگر از جمله دریافت اولیه مقادیر و مدیریت کوکی ها است، آن هم در صورتی که از موارد امنیتی دیگر مانند بررسی دامنه فعلی یا آدرس ارجاعی استفاده نشده باشد)!
نکته: هدف استفاده از سیستم Token جلوگیری از حملات موسوم به CSRF (مخفف Cross-Site Request Forgery) است که در آن افراد با ایجاد صفحاتی در سایت خود، اطلاعات کاربر را معمولا در قالب فرم های وب گرفته و به سایت دیگری ارسال می کنند تا در صورت وارد شدن کاربر به حساب کاربری خود (Login بودن)، به صورت ناخواسته و بدون اختیار کاربر، عملیاتی در سایت مد نظر با حساب کاربری او صورت گیرد.
نکته: هدف استفاده از سیستم Token جلوگیری از حملات موسوم به CSRF (مخفف Cross-Site Request Forgery) است که در آن افراد با ایجاد صفحاتی در سایت خود، اطلاعات کاربر را معمولا در قالب فرم های وب گرفته و به سایت دیگری ارسال می کنند تا در صورت وارد شدن کاربر به حساب کاربری خود (Login بودن)، به صورت ناخواسته و بدون اختیار کاربر، عملیاتی در سایت مد نظر با حساب کاربری او صورت گیرد.
https://en.wikipedia.org/wiki/Cross-site_request_forgery
ستار
۰۰:۴۵ ۱۳۹۵/۰۱/۲۹
سلام
ایا تابع curl در هر اجرا تمام ریکوئست ها رو به سرور ارسال میکنه یا نه مثل مرورگر یه حافظه کش داره که مثلا در دومین بازدید از سایت از اون استفاده می کنه؟ اگه نداره ایا راهی برای ایجاد اون هست یا نه؟
چون مثلا در ربوت ها اگه قرار باشه در هر اجرا تمام ریکوئست ها به سرور ارسال بشه و پاسخ دریافت بشه تعداد ریکوئست ها بالا میره و سرور میفهمه که این درخواست از طرف انسان و مرورگر نیست و از طرف ربوت تولید میشه و اون رو بن میکنه.
ممنون
ایا تابع curl در هر اجرا تمام ریکوئست ها رو به سرور ارسال میکنه یا نه مثل مرورگر یه حافظه کش داره که مثلا در دومین بازدید از سایت از اون استفاده می کنه؟ اگه نداره ایا راهی برای ایجاد اون هست یا نه؟
چون مثلا در ربوت ها اگه قرار باشه در هر اجرا تمام ریکوئست ها به سرور ارسال بشه و پاسخ دریافت بشه تعداد ریکوئست ها بالا میره و سرور میفهمه که این درخواست از طرف انسان و مرورگر نیست و از طرف ربوت تولید میشه و اون رو بن میکنه.
ممنون
کارکرد تابع curl با مرورگر متفاوت است، این تابع صرفا اطلاعات همان آدرسی را دریافت می کند که به عنوان پارامتر تنظیم شده است و هیچ گونه پردازش دیگری بر روی آدرس فایل های CSS، JS، تصاویر و... موجود در کدهای خروجی انجام نمی دهد، به عبارتی در هر درخواست ارسالی از طریق curl تنها یک آدرس از سرور خواسته می شود و لذا بحث مد نظر شما عملا منتفی است (مگر اینکه در یک ثانیه چندین درخواست داشته باشید که چنین حالتی چندان کاربردی و متصور نیست، در صورت وجود هم ارسال حداقل یک درخواست، لازمه ارتباط واسط کاربری با سرور است و لذا چاره ای برای آن وجود ندارد!).
ممل
۰۳:۵۰ ۱۳۹۵/۰۱/۲۸
سلام
من برای نمایش یک سایت از تابع file_get_contents استفاده کردم اما مشکلی که اینجاس اینکه یا بعضی از سایت ها رو نمایش نمیده ؟ یا اگر نمایش بده تصاویر اون سایت لود نمیشه یا قالب رو بهم ریخته نشون میده ؟ در حالیکه تگ iframe در html بخوبی سایت ها رو بنمایش میزاره ایا برای تگ iframe یا تابع file_get_contents کد خاصی رو در نظر ندارید تا ما جایگزینش استفاده کنیم؟ من برای نمایش سایت ها نمیخوام از تگ iframe استفاده کنم. کد یا تابع خاصی چه در html و php اگر در اختیار دارید با روش استفادش رو در اختیارم بزارید.
با تشکر
من برای نمایش یک سایت از تابع file_get_contents استفاده کردم اما مشکلی که اینجاس اینکه یا بعضی از سایت ها رو نمایش نمیده ؟ یا اگر نمایش بده تصاویر اون سایت لود نمیشه یا قالب رو بهم ریخته نشون میده ؟ در حالیکه تگ iframe در html بخوبی سایت ها رو بنمایش میزاره ایا برای تگ iframe یا تابع file_get_contents کد خاصی رو در نظر ندارید تا ما جایگزینش استفاده کنیم؟ من برای نمایش سایت ها نمیخوام از تگ iframe استفاده کنم. کد یا تابع خاصی چه در html و php اگر در اختیار دارید با روش استفادش رو در اختیارم بزارید.
با تشکر
کارکرد تگ iframe با دستورات PHP متفاوت است، iframe قابلیتی در مرورگر است که خروجی سایت را به طور کامل (مانند حالت عادی) پردازش می کند، اما دستورات PHP در سرور اجرا و صرفا خروجی متنی اولیه دریافت می شود و هیچ پردازشی بر روی کدها صورت نمی گیرد، به همین دلیل است که به طور مثال آدرس های نسبی به همان صورت چاپ می شوند، رفع این موارد و مشابه سازی تگ iframe در PHP ساده نیست و باید برای رفع هر اشکال، کدهایی نوشته شود.
۱۱:۵۶ ۱۳۹۵/۰۱/۲۵
با سلام و عرض خسته نباشید خدمت شما و همکاران گرامی
اگه میشه اموزش برسی وجود لینک در یک صفحه را نیز اموزش بدهید
با تشکر
اگه میشه اموزش برسی وجود لینک در یک صفحه را نیز اموزش بدهید
با تشکر
متاسفانه در کوتاه مدت امکانپذیر نیست، می توانید در خصوص عبارات با قاعده + تابع preg_match و file_get_contents در وب جستجو کنید!
مسعود
۱۷:۰۴ ۱۳۹۵/۰۱/۱۰
با سلام و خسته نباشيد من ميخوام اطلاعات پارامترها را كه قبلا در ديتابيس ذخيره شده اند مثلا اسمشون در php فراخوانى كنم به طور مثال:
با تشكر...
'fname'=> 'نام در ديتابيس'
خوب چطور نام رو در اينجا فراخوانى كنم؟با تشكر...
اگر با نحوه گرفتن خروجی در حلقه while با PHP و MySQL آشنا باشید (رجوع به بحث آشنایی با نحوه اجرای query در MySQL)، به راحتی می توانید مقادیر را به یک متغیر یا آرایه نسبت داده و آن را در کدهای PHP استفاده نمائید، مثال:
<?php
@$array = array();
while($row = mysqli_fetch_assoc($res)) {
$array[] = $row['row_name'];
}
//print_r($array);
?>
محمد
۱۱:۳۵ ۱۳۹۵/۰۱/۰۵
سلام خسته نباشید
من یک سایت عضو هستم و قصد دارم اطلاعات صفحه مربوطه را ذخیره کنم از طریق curl وارد صفحه می شوم اما موقعی که وارد صفحه می خواهم بشوم به صفحه دیگری ریدایرکت می شوم و در ضمن اگر مستقیم هم لینک صفحه را در curl وارد کنیم هم باز ما را به صفحه لاگین هدایت می کند و نمی گذارد که به محتویات صفحه اصلی که می خواهیم دسترسی داشته باشیم خیلی ممنون میشوم راهنمایی بفرمایید و یا حداقل راهی که بشه این مشکل را رفع کرد یا ادرس و یوزر پسورد را بدهم چکی بفرمایید
من یک سایت عضو هستم و قصد دارم اطلاعات صفحه مربوطه را ذخیره کنم از طریق curl وارد صفحه می شوم اما موقعی که وارد صفحه می خواهم بشوم به صفحه دیگری ریدایرکت می شوم و در ضمن اگر مستقیم هم لینک صفحه را در curl وارد کنیم هم باز ما را به صفحه لاگین هدایت می کند و نمی گذارد که به محتویات صفحه اصلی که می خواهیم دسترسی داشته باشیم خیلی ممنون میشوم راهنمایی بفرمایید و یا حداقل راهی که بشه این مشکل را رفع کرد یا ادرس و یوزر پسورد را بدهم چکی بفرمایید
می توانید فایل هایتان + اطلاعات ورود را به آدرس ایمیل سایت (موجود در بخش تماس) ارسال کنید تا بررسی شود، در صورتی که حل مشکل زمانبر نباشد، انجام خواهد شد، در غیر اینصورت متاسفانه به دلیل محدودیت زمان کمک بیشتر میسر نیست!
- به سوالات کلی، زمانبر، مبهم و مشکلاتی که تلاشی برای رفع آنها نکرده باشید پاسخ مختصر داده شده یا به بخش برنامه نویسی اختصاصی ارجاع داده می شوند.
- کدها و اسکریپت های طولانی را ترجیحا در یک صفحه وب آنلاین یا به صورت حساب موقت و آزمایشی قرار دهید تا امکان بررسی دقیق مشکل و خطایابی میسر باشد.
- تمام دیدگاه های ارسالی خوانده شده و برای هر کاربر مدت زمان لازم جهت پاسخگویی در نظر گرفته می شود، لطفا از طرح سوالات متعدد در بازه زمانی کوتاه خودداری کنید.