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 و کلاس phpmailer
» نمایش آمار بازدیدها با PHP بدون استفاده از دیتابیس
» نحوه نمایش متن و تصاویر اتفاقی در PHP و MySQL
» آموزش ساخت نقشه XML سایت (Sitemap) با PHP و MySQL
» ساخت فید خوان آر اس اس (RSS Feed Reader) با PHP
commentنظرات (۱۲۰ یادداشت برای این مطلب ارسال شده است)
more یادداشت های جدید بر اساس تاریخ ارسال در انتهای یادداشت های موجود نمایش داده می شوند.
نویسنده: علی
۱۹:۰۰ ۱۳۹۴/۰۲/۲۱
با سلام. خسته نباشید
آیا میشه به سمت یک کاربر منظورم به یک بروزر اطلاعاتی فرستاد. مثلا شخصی وارد سایت ما شده ، ما ای پی او را بگیریم و حالا به سمت اون داده بفرستیم.
موارد گفته شده در بالا همه زمانی بود که به یک سرور بخواهیم داده بفرستیم یا بگیریم نه یک کاربر
با تشکر
پاسخ: 
سلام
در این حالت پای زبان های سمت کاربر مانند JavaScript و قاعدتا Ajax به میان می آید، در واقع در وب ارتباط هم زمان بین مرورگر و سرور (دریافت و ارسال اطلاعات) بدون رفرش صفحه با Ajax و مدیریت آن با JavaScript ممکن است، البته ماهیت داده مد نظر برای ارسال نیز در چگونگی این فرآیند نقش دارد، به طور مثال زمانی که یک پلیر پخش در صفحه وب خود دارید، در واقع در حال ارسال داده از سرور به مرورگر هستید!
نویسنده: Matori73
۰۷:۳۸ ۱۳۹۴/۰۲/۳۰
درود !
سوالی داشتم، ممنون میشم راهنمایی بفرمایید :
در برخی از ابزارهای زیباساز وبلاگ و ... که با php طراحی شدن، برخی از خاصیت های اون ابزار رو از آدرس مرورگر میگیرن، مثلا رنگ پس زمینه و رنگ فونت و ...
مثلا :
http://site.com/test.php?ct=333333&bg=F2F2F2&c=D4D4D4
چطور میشه این خاصیت ها رو پروژه خودمون فراخوانی کنیم ؟ یعنی بگیم که مثلا رنگ پس زمینه که معادل bg هست رو طبق آدرس مرورگر تنظیم کن !
تشکر ..
پاسخ: 
سلام
در صورت آشنایی با متد GET در PHP می توانید به راحتی پارامترهای ارسالی از آدرس URL را در کدهای خود داشته باشید، در وب به طور معمول دو روش GET و POST برای ارسال پارامترها وجود دارد، لطفا در این رابطه جستجو کنید.
نویسنده: Matori73
۰۶:۴۹ ۱۳۹۴/۰۵/۲۷
خسته نباشید (:
میتونید در این خصوص کمکم کنید :
به این 2 آدرس توجه کنید :
site.com/home
site.com/@admin
با php چطوری میتونم آدرس بعد از site.com رو تشخیص بدم؟
یعنی به این شکل که بگم اگر بعد از آدرس سایت، عبارت home بود این عبارت چاپ شود :
echo getPage('header/content');
در غیراینصورت، این عبارت چاپ شود :
echo getPage('header/content2');


تشکر ..
پاسخ: 
اگر پارامتر فقط محدود به همین موارد باشد، می توانید از نمونه کد زیر استفاده کنید:
$url_param = "$_SERVER[REQUEST_URI]";
اما اگر پارامترهای بیشتری در آدرس URL وجود داشته باشد باید کد را متناسب با نیازتان توسعه دهید!
نویسنده: farzad
۱۵:۰۷ ۱۳۹۴/۰۹/۲۹
سلام و خسته نباشید به مهندس عزیز.
یه سوال نیمه حرفه ای داشتم در خصوص نوع گرفتن مقادیر متد get و جست و جو در جدول.
اغاز سوال با مثال
www.example/?id=12345&name=long-string
بنده میخواهم از id برای جست و جو در استفاده نکنم و کلا پارامتر id را از url حذف کنم و فقط از string برای جست و جو استفاده کنم.
با فرض اینکه تعداد سطرهای جدول حدود 20,000 به بالا باشه و من بخوام عمل
WHERE $_get = tbl.name
انجام دهم با فرض یکتا بودن name در جدول و اینکه سرور میزبان اشتراکی بوده و بازدید سایت متوسط باشد میخاستم بپرسم عملیات مقایسه رشته با عدد در کل چقدر تفاوت داره؟ اگر کامل توضیح بفرمایید ممنون میشم. اگر توضیحات دیگری لازم دارد ممنون میشم راهنمایی نمایید زیرا بصورت تجربی این مسئله را تجربه نکرده ام. با تشکر
پاسخ: 
سلام
در حالت بهینه همیشه استفاده از id از نظر سرعت پردازش نسبت به رشته ارجحیت دارد (البته ممکن است خیلی ناچیز باشد)، چرا که INT میزان حجم کمتری نسبت به VARCHAR، TEXT و... اشغال می کند و در نتیجه پردازش کمتری برای آن مورد نیاز است، از طرفی در برنامه های تحت وب، در موارد زیادی لینک ها به صورت ناقص از سرور درخواست می شوند (به فرض چند عبارت از لینک حذف می شوند و...)، لذا مدیریت این حالت دشوارتر و پیچیده تر می شود، اما با وجود ID حتی لینک های ناقص را می توان به لینک اصلی ریدایرکت کرد، قاعدتا عدم استفاده از ID در URL مزیت های خاص خودش را هم دارد و بسته به شرایط می تواند انتخاب اول باشد، به فرض سایت هایی که مطالب آنها اغلب میزان ثابتی است به صورت به روزرسانی مداوم نیست، یا از URL های کوتاه و پسوندهای نمادینی مانند html. در انتهای لینک هایشان استفاده می کنند، می توانند ID را از آدرس URL حذف کنند، در کل عدم استفاده از ID مشکل چندانی برای بحث سرعت ایجاد نمی کند، منتها با این کار بسیاری از مزیت های وجود شماره یکتا در URL از دست می رود!
نویسنده: علی
۲۰:۵۵ ۱۳۹۴/۱۰/۰۲
با سلام
سوالی از حضور مهندس عزیز داشتم
بنده سایتی دارم که از هاست سرویس اشتراکی با قیمت سالانه ۶۰.۰۰۰ تومان استفاده میکند، حال اینکه لینک صفحات سایت بجای آی دی اینتیجر ، از رشته برای مقایسه و پیدا کردن سطر مورد نظر از میان حدودا ۱۰،۰۰۰ سطر استفاده میکند، سوال من اینجاست ، که آیا در زمانی بازدید سایت متوسط رو به بالا باشد آیا سرور دچار اختلال میشود؟
با تشکر
پاسخ: 
سلام
صرف رشته بودن مقادیر جستجو در شرایط گفته شده نمی تواند تاثیر تعیین کننده روی سرعت پردازش دستورات داشته باشد، اگر سرور سایت شما نتواند یک سایت را با سیستم گفته شده نمایش دهد، مطمئنا با حالت ID نیز کشش لازم را نخواهد داشت و در واقع مورد از توان پائین سرور در مقایسه با تعداد کاربران است، از طرفی کیفیت سرورهای اشتراکی بسته به سخت افزار و نرم افزار بکار رفته، شرایط رسیدگی، نگهداری و... می تواند کاملا با هم متفاوت باشد، لذا از این بابت جای نگرانی نیست، اما اگر به دنبال روش بهینه باشید، استفاده از ID در کنار رشته در آدرس URL مزیت های بیشتری دارد!
نویسنده: محسن
۱۶:۴۰ ۱۳۹۴/۱۰/۲۱
سلام و عرض ادب
من میخوام اطلاعاتم رو به صفحه یک سایت پست کنم و همان سایت نمایش داده شود به عبارتی من میخوام با همین روش اطلاعات رو به یک درگاه پرداخت پست کنم و کاربر پرداخت رو انجام بده نمیخوام از طریق فرم این کار رو انجام بدم چون ممکنه کاربر کدها رو دست کاری کنه و مقدار پول رو ویرایش کنه میخوام از این طریق و با استفاده از دیتابیس مبلغ رو برای پرداخت پست کنم
ممنون میشم راهنمایی کنید
پاسخ: 
سلام
قاعدتا باید عملکرد یک فرم عادی را شبیه سازی کنید و به جای فیلدهای فرم، پارامترها را در تابع curl تعریف کنید، در صورت آشنایی با PHP به راحتی می توانید پارامترهای را به صورت داینامیک و بر اساس اطلاعات مد نظر در هر درخواست تعریف کنید، به فرض:
<?php
curl_setopt($curl, CURLOPT_POSTFIELDS, 'input_1='.$var_1.'&input_2='.$var_2.'&input_3='.$var_3);
?>
در مثال بالا قسمت های input با name فیلدها جایگزین و قسمت های var با مقداری که می تواند از دیتابیس یا هر حالت مد نظر دیگر استخراج شود، جایگزین می شود، البته این فقط قسمتی از کد است و صرفا جهت آشنایی با روند کار درج شده.
نویسنده: محسن
۱۳:۱۶ ۱۳۹۴/۱۰/۲۳
سلام و عرض ادب
بسیار متشکر از لطف شما
خوب این کد صفحه رو به سایت مورد نظر ریداکت نمیکنه
یعنی وقتی از این روش کار رو انجام میدم هیچ اتفاقی نمیوفته و اصلا اطلاعات به صفحه مورد نظر پست نمیشه
پاسخ: 
سلام
curl برای ارسال مقادیر در قالب متدهای POST یا GET از یک سرور به سرور دیگر است و درخواست از سمت کاربر (مرورگر) ایجاد نمی شود که در صفحه مرورگر تغییری ایجاد شود! در صورت نیاز می توانید با تنظیم دستورات header انتقال به صفحه مقصد را انجام دهید، مثال:
header("Location: ".$url);
، برای پی بردن به ارسال شدن مقادیر می توانید در سرور مقصد یک کد ساده PHP داشته باشید و با متد POST یا GET مقادیر را دریافت و چاپ کنید، مقادیر ارسالی در صورت عدم آشنایی شما با روش های خطایابی در PHP به نحوی نیست که قابل روئیت باشد!
نویسنده: ستار
۱۸:۰۴ ۱۳۹۴/۱۰/۲۸
سلام
دو تا سوال دارم
وقتی یه سایت رو با curl لود میکنم اون عکس هایی که به صورت ناقص ادرس دهی شدن (به این صورت logo.jpg/.) لود نمیشن چکار کنم که اونا هم لود بشن؟
وقتی ادرس یه عکس رو به جای ادرس سایت قرار میدم عکس به صورت یه متن بی مفهوم چاپ میشه برای رفع این مشکل چکار کنم؟
ممنون
پاسخ: 
سلام
- برای مورد اول دو انتخاب دارید، می توانید از تگ base در HTML استفاده کرده و متناسب با آدرس سایت مورد نظر، قسمت base را به خروجی کدها (با دستورات PHP) اضافه کنید، راه حل دوم استفاده از دستوری شبیه کد زیر است:
<?php
if (!preg_match('/src="https?:\/\/"/', $result)){
$result = preg_replace('/src="(.*)"/', "src=\"$MY_BASE_URL\\1\"", $result);
}
?>
با این کد نتیجه دریافتی را می توانید بررسی و آدرس های نسبی مربوط به تصاویر را با حالت مطلق جایگزین نمائید!
- در پاسخ به سوال دوم، تصاویر را نمی توانید مستقیما چاپ کنید، می توانید با تابع آماده زیر تصویر را دریافت و ذخیره کنید:
function grab_image($url,$saveto){
$ch = curl_init ($url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_BINARYTRANSFER,1);
$raw=curl_exec($ch);
curl_close ($ch);
if(file_exists($saveto)){
unlink($saveto);
}
$fp = fopen($saveto,'x');
fwrite($fp, $raw);
fclose($fp);
}
نویسنده: بهزاد
۱۹:۴۳ ۱۳۹۴/۱۱/۰۵
سلام.
من میخوام که این آدرس رو به طور کامل از همین طریقی که شما فرموده اید دریافت کنم ولی هیچی دریافت نمیشه
مشکل از کجاست؟
این آدرس:
http://csmg.lgmobile.com:9002/csmg/b2c/client/auth_model_check2.jsp?esn=356478050417128
کدی هم که استفاده کرده ام:
<?php
$homepage = file_get_contents('http://csmg.lgmobile.com:9002/csmg/b2c/client/auth_model_check2.jsp?esn=356478050417128');
echo $homepage;
?>
پاسخ: 
سلام
آدرس و کد تست شد، مشکلی وجود ندارد و خروجی XML دریافت می شود.
نکته: allow_url_fopen در تنظیمات PHP باید برابر 1 باشد!
نویسنده: محمد رضا
۲۱:۴۱ ۱۳۹۴/۱۱/۲۸
سلام خسته نباشید
من با مشکلی مواجه شدم در زمینه فراخوانی و نمایش یک سایت در لوکال خودم که مثلا یک سایت را به وسیله curl فراخوانی می کنم و یوزر و پسورد و کد کپچا را دستی وارد می کنم و سپس submit فرم را می زنم
curl_setopt($curl, CURLOPT_FAILONERROR, false);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER , true);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
اما مشکل من هنگام ارسال فرم پیش می آید که هنگام ارسال فرم به سایت مزبور به صورت اتوماتیک به سایت مورد نظر ریدایرکت می شود و صفحه مورد نظر دیگر تحت تسلط من نیست
استاد محترم چه راهکاری برای این مشکل پیشنهاد می دهید
لازم به ذکر است در سایت مورد نظر form action ='/' بود که من با کدی این قسمت را تغییر دادم به
form action = 'http://site.com'
چون در غیر این صورت فرم به سرور مربوطه ارسال نمیشد و به لوکال برمی گشت
با تشکر از دوستان عزیز
پاسخ: 
هرچند بررسی مشکل نیاز به دانستن آدرس سایت مورد نظر و تست نمونه کدها دارد، اما در گام نخست باید مقدار پارامتر CURLOPT_FOLLOWLOCATION برابر true باشد که در حال حاضر false است.
نویسنده: محمدرضا محمدی
۲۰:۳۱ ۱۳۹۴/۱۱/۲۹
بله استاد مقادیر مرتبط که گفتید هم بر طرف کرده بودم یعنی مقادیر true بود اما من با کد str_replace مقادیر اکشن فرم را به ادرس سایت مرتبط تغییر دادم اما فرم بعد از ارسال به سایت مورد نظر ریدایرکت می شود
از زحمات شما سپاسگذارم
ادرس سایت هم :mofidonline.com هست
پاسخ: 
این موارد تنها با بررسی و اجرای سورس کدها قابل حل هستند که ممکن است زمانبر نیز باشند! می توانید فایل هایتان را از طریق ایمیل (موجود در بخش تماس) ارسال کنید، با توجه به زمان محدود ما در پاسخگویی به سوالات کاربران، اگر در بررسی اجمالی قابل رفع بود، این کار انجام و نتیجه برایتان ارسال می شود.
نویسنده: محمد
۱۱:۳۵ ۱۳۹۵/۰۱/۰۵
سلام خسته نباشید
من یک سایت عضو هستم و قصد دارم اطلاعات صفحه مربوطه را ذخیره کنم از طریق curl وارد صفحه می شوم اما موقعی که وارد صفحه می خواهم بشوم به صفحه دیگری ریدایرکت می شوم و در ضمن اگر مستقیم هم لینک صفحه را در curl وارد کنیم هم باز ما را به صفحه لاگین هدایت می کند و نمی گذارد که به محتویات صفحه اصلی که می خواهیم دسترسی داشته باشیم خیلی ممنون میشوم راهنمایی بفرمایید و یا حداقل راهی که بشه این مشکل را رفع کرد یا ادرس و یوزر پسورد را بدهم چکی بفرمایید
پاسخ: 
می توانید فایل هایتان + اطلاعات ورود را به آدرس ایمیل سایت (موجود در بخش تماس) ارسال کنید تا بررسی شود، در صورتی که حل مشکل زمانبر نباشد، انجام خواهد شد، در غیر اینصورت متاسفانه به دلیل محدودیت زمان کمک بیشتر میسر نیست!
نویسنده: مسعود
۱۷:۰۴ ۱۳۹۵/۰۱/۱۰
با سلام و خسته نباشيد من ميخوام اطلاعات پارامترها را كه قبلا در ديتابيس ذخيره شده اند مثلا اسمشون در php فراخوانى كنم به طور مثال:
'fname'=> 'نام در ديتابيس'
خوب چطور نام رو در اينجا فراخوانى كنم؟
با تشكر...
پاسخ: 
اگر با نحوه گرفتن خروجی در حلقه while با PHP و MySQL آشنا باشید (رجوع به بحث آشنایی با نحوه اجرای query در MySQL)، به راحتی می توانید مقادیر را به یک متغیر یا آرایه نسبت داده و آن را در کدهای PHP استفاده نمائید، مثال:
<?php
@$array = array();
while($row = mysqli_fetch_assoc($res)) {
$array[] = $row['row_name'];
}
//print_r($array);
?>
نویسنده: حسین
۱۱:۵۶ ۱۳۹۵/۰۱/۲۵
با سلام و عرض خسته نباشید خدمت شما و همکاران گرامی
اگه میشه اموزش برسی وجود لینک در یک صفحه را نیز اموزش بدهید
با تشکر
پاسخ: 
متاسفانه در کوتاه مدت امکانپذیر نیست، می توانید در خصوص عبارات با قاعده + تابع preg_match و file_get_contents در وب جستجو کنید!
نویسنده: ممل
۰۳:۵۰ ۱۳۹۵/۰۱/۲۸
سلام
من برای نمایش یک سایت از تابع file_get_contents استفاده کردم اما مشکلی که اینجاس اینکه یا بعضی از سایت ها رو نمایش نمیده ؟ یا اگر نمایش بده تصاویر اون سایت لود نمیشه یا قالب رو بهم ریخته نشون میده ؟ در حالیکه تگ iframe در html بخوبی سایت ها رو بنمایش میزاره ایا برای تگ iframe یا تابع file_get_contents کد خاصی رو در نظر ندارید تا ما جایگزینش استفاده کنیم؟ من برای نمایش سایت ها نمیخوام از تگ iframe استفاده کنم. کد یا تابع خاصی چه در html و php اگر در اختیار دارید با روش استفادش رو در اختیارم بزارید.
با تشکر
پاسخ: 
کارکرد تگ iframe با دستورات PHP متفاوت است، iframe قابلیتی در مرورگر است که خروجی سایت را به طور کامل (مانند حالت عادی) پردازش می کند، اما دستورات PHP در سرور اجرا و صرفا خروجی متنی اولیه دریافت می شود و هیچ پردازشی بر روی کدها صورت نمی گیرد، به همین دلیل است که به طور مثال آدرس های نسبی به همان صورت چاپ می شوند، رفع این موارد و مشابه سازی تگ iframe در PHP ساده نیست و باید برای رفع هر اشکال، کدهایی نوشته شود.
more لطفا پیش از ارسال یادداشت نکات زیر را مد نظر داشته باشید:
- موارد غیرمرتبط با مباحث آموزش ها را در فرم منوی "تماس با ما" مطرح و پاسخ را از طریق ایمیل دریافت کنید.
- به سوالات کلی، مبهم و مشکلاتی که تلاشی برای رفع آن نکرده باشید پاسخ مختصر داده خواهد شد.
- کدها و اسکریپت های طولانی را ترجیحا در یک صفحه وب آنلاین قرار دهید تا امکان تست و بررسی وجود داشته باشد.
- از درج عناوین تبلیغاتی در فیلدها خودداری کنید، در صورتی که یادداشت تبلیغاتی تشخیص داده شود حذف خواهد شد.
- تمام یادداشت ها بررسی و زمانی جهت پاسخگویی در نظر گرفته می شود، لطفا از طرح سوالات متعدد خودداری کنید.





5 × 5
 refresh

آخرین دیدگاه ها
more برای دسترسی سریع به یادداشت مربوطه می توانید از لینک مطلب در کادر زیر استفاده کنید.
form عبدالمالت ریالی
در:
سلام علیک میشه از چند فونت در یک صفحه html استفاده کرد.؟
۱۳۹۹/۰۸/۰۱

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

form mohadeseh
در:
ممنون از راهنماییتون مشکلم حل شد
۱۳۹۹/۰۷/۲۸

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

form فایز پور جهانبخشی
در:
سلام اگر بخواهیم برنامه ای که داخل متلب نوشتیم تا یک ثانیه اجرا شود و بعد از ثانیه اول در حالت خطا که...
۱۳۹۹/۰۷/۲۸

form mohadeseh
در:
الان کد من که توی تگ <head> گزاشتم میخواستم بدونم ایا امکانش هست که توی تگ link که ایکون رو باهاش اوردم بتونم...
۱۳۹۹/۰۷/۲۷

form mohadeseh
در:
سلام ببخشید لطفا راهنمایی کنید که چجوری title برای favicon در html بزارم؟ جوری که وقتی موس روی icon قرار بگیره متن...
۱۳۹۹/۰۷/۲۷

form ryomaechizen
در:
سلام. اگه حافظه وب پر بشه و مجبورا عکسا کپی باشن چطور باید مشکل بارگزاریشون حل بشه؟
۱۳۹۹/۰۷/۲۶

form رونا
در:
پرونده فرستاده شده نمی‌تواند به wp-content/uploads/2020/10 برود. سلام این ارور برای چی رخ می ده
۱۳۹۹/۰۷/۲۵

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

form سینا
در:
چگونه میتوانیم با استفاده از HTML فرمول شیمیایی مواد را بنویسیم؟ با عدد اتمی، جرمی و بار اتمی
۱۳۹۹/۰۷/۲۱

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

form امیرحسین
در:
خب متوجه شدم. که باید خط اول عدد فانکشن رو تغییر بدم. بسته به تعداد آرایه یا هر عدد دیگه تغییر بدم جوابمو...
۱۳۹۹/۰۷/۲۱

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

form سعادتی
در:
سلام کاش روش برطرف کردن این بهم ریختگی رو هم توضیح میدادید. ممنون
۱۳۹۹/۰۷/۲۰
form امیرحسین
در:
موفق شدم اینو پیدا کنم. ولی میخوام کلمات تکراری داخلشون نباشه. مثال AAA فقط یک بار در اون خط وجود داشته باشه.
۱۳۹۹/۰۷/۲۰
form امیرحسین
در:
سلام. نه محدودیت زمانی وجود نداره.
۱۳۹۹/۰۷/۲۰
form امیرحسین
در:
سلام خسته نباشید. میخوام از این تابع برای بدست آوردن لیست های متفاوت استفاده کنم. مثلا یه آرایه داشته باشم. امیدوارم کمکم...
۱۳۹۹/۰۷/۲۰
form ابوالفضل
در:
سلام وقتتون بخیر من میخوام یه افزونه برای مرورگر کروم طراحی کنم و میخوام یه متنی رو هر سری از سایت دریافت کنه و...
۱۳۹۹/۰۷/۲۰
form mahdi
در:
سلام چطور می تونم از ip خارجی استفاده کنم؟ برای دریافت لانچر میخام. مرسی
۱۳۹۹/۰۷/۱۹
form احسان عباسی
در:
با سلام و تشکر از سایت خوبتون من یه کد تعریف کردم که در بورس ایران سهم مدنظرمو بیاره .. میخواستم ببینم امکانش هست دستوری...
۱۳۹۹/۰۷/۱۷
form شبنم
در:
سلام وقتتون بخیر، ببخشید از کلمه event یا e دقیقا چه زمانی توی فانکشن استفاده میکنیم؟
۱۳۹۹/۰۷/۱۷
form احمد
در:
با عرض سلام مجدد ساختار کلی دستورم به این صورت هست. بعد از حلقه وایل اون دیو کلاس 1 و 2 و 3 میخواهم...
۱۳۹۹/۰۷/۱۶
form احمد
در:
با عرض سلام ببخشید چطوری میتونم یه قسمت از تگ ها رو داخل حلقه وایل رد کنم دوباره تگ های بعدی داخل حلقه قرار بگیرن...
۱۳۹۹/۰۷/۱۶
form ابوالفضل
در:
سلام واقعا من خیلی گشتم تا بتونم این آموزش رو پیدا کنم چون واقعا نمی دونستم چی بنویسم تا یک رتبه بندی برای نتایج جستجو...
۱۳۹۹/۰۷/۱۵
form mahtab
در:
سلام وقتتون بخیر ببخشید میشه بفرمایید چجوری کلیپ رو بزاریم وبلاگ ؟؟ بی زحمت کامل بفرمایین ممنون و متشکر
۱۳۹۹/۰۷/۱۴
form Saeid Azari
در:
سلام ببخشید اگه امکانش هست سوال منو جواب بدید یکم گیج شدم...من یک کد html دارم که باید یک سایت درست کنم و ان را...
۱۳۹۹/۰۷/۱۳
form ابوالفضل
در:
سلام یک سوال دارم چجوری یک متنی که درون تگ td هست و بعد تگ br هست (تگ br درون تگ td است) رو...
۱۳۹۹/۰۷/۱۳
form parnian
در:
با سلام با توجه به این که این مطلب در سال 91 نوشته شده ایا تغیری هم کرده؟ مثلا استفاده و مهم بودن تگ های...
۱۳۹۹/۰۷/۱۳
form fahimeh
در:
سلام من دارم پروژه واسه دانشگاه مینویسم طراحی سایتو کردم برای کار با پایگاه داده دستور insert و delete کار میکنه ولی...
۱۳۹۹/۰۷/۱۲
form امین
در:
با عرض سلام ببخشید یه فرم دارم اخر فرمم یه دکمه دارم میخواستم بدونم چطوری باید بعد از کلیک کردن دکمه به صفحه دیگه انتقال...
۱۳۹۹/۰۷/۱۱
form محسن
در:
سلام من از فرم ساز گرویتی استفاده میکنم آیا امکان استفاده همچین چیزی رو میتونم داخلش داشته باشم آیا کدی داره که در قسمت...
۱۳۹۹/۰۷/۱۱
form مالکی
در:
چرا وبلاگم بالا نمی یاد
۱۳۹۹/۰۷/۰۹
form احمد
در:
با عرض سلام مجدد و خسته نباشید ببخشید نمونه کد رو اگر امکانش هست نگاه کنید که چطوری این متغییری رو که بدست اوردم در...
۱۳۹۹/۰۷/۰۹
form الناز
در:
سلام وقتتون بخیر. چطور میشه برنامه ای رو در php نوشت که کدملی رو تبدیل به شماره دانشجویی کنه اگه برام بنویسید ممنون میشم.
۱۳۹۹/۰۷/۰۹
form محمد
در:
سلام من میخواستم بدونم چه طوری میشه بدون اینکه از کاربر بپرسی که میخواهد از حساب خروج پیدا کند خود سایت بفهمد که کاربر از...
۱۳۹۹/۰۷/۰۹
form احمد
در:
با سلام ببخشید چطوری باید در جکوری از یک متغییر در صفحات دیگه استفاده کنم مثال دو عدد را باهم جمع کردم و ریختم داخل...
۱۳۹۹/۰۷/۰۹
form مهسا
در:
سلام و خسته نباشید مشکلی برای وبلاگ من پیش اومده موقع ورود بهم پیام میده وبلاگ داره بروز رسانی میشه و بعدا وارد وبلاگ شوید...
۱۳۹۹/۰۷/۰۸
form Moshtagh
در:
سلام و خسته نباشید بنده چند روزه که وقتی اطلاعات ورود به وبلاگم رو وارد تیترها و کلیک میکنم با چنین پاسخی مواجه میشم...
۱۳۹۹/۰۷/۰۸
form mahtab
در:
سلام خسته نباشین ببخشید چرا بلاگفا باز نمیکنه ؟؟؟ میرم مدیریت وبلاگ نه تو بروز شده ها وبی هستم نه هم که...
۱۳۹۹/۰۷/۰۷
form جواد
در:
سلام و عرض ادب. سایت من هک شده و یک کد ریدایرکت تو دیتابیس هاستم بارگزاری شده که آخر همه پست ها تو...
۱۳۹۹/۰۷/۰۷
  در انتظار بررسی: ۰
 پاسخگویی به سوالات ممکن است تا 24 ساعت زمان ببرد.