PDA

View Full Version : سوال: لاگین خودکار در سایت + خواندن اطلاعات از سایت دیگر



behzad_20052006
دوشنبه 14 دی 1394, 17:12 عصر
سلام خدمت اساتید محترم
2 سوال داشتم که ممنون میشم راهنمایی بفرمایید .

بنده نیاز دارم یک سایت به زبان PHP طراحی میکنم که در دو قسمت به مشکل خوردم و ممنون میشم راهنمایی بفرمایید .

قسمتی در سایت هست که نیاز هست به با ورود تلفن کاربر سایت به سایت دیگه ای متصل میشه و اطلاعات حسابش رو نمایش میده .
برای این کار یعنی لاگین خودکار در سایت دیگر و خواندن و ارسال فیلد های مورد نظر به سایت اصلی .

متشکرم

kenman
دوشنبه 14 دی 1394, 17:41 عصر
با سلام خدمت دوست عزیز . برای اینکار شما باید از CURL استفاده کنی . خیلی خیلی کارت رو راه میندازه .

behzad_20052006
دوشنبه 14 دی 1394, 17:42 عصر
با سلام خدمت دوست عزیز . برای اینکار شما باید از CURL استفاده کنی . خیلی خیلی کارت رو راه میندازه .

ضمن تشکر از شما آیا امکانش هست بیشتر توضیح بدید یا یک لینک آموزشی ارسال نمایید .

kenman
دوشنبه 14 دی 1394, 17:53 عصر
چشم حتما .

این لینک اول که آموزش CURL میباشد
http://learnfiles.com/downloads/%D9%81%DB%8C%D9%84%D9%85-%D8%A2%D9%85%D9%88%D8%B2%D8%B4-curl-%D8%AF%D8%B1-php-%D8%A8%D9%87-%D8%B2%D8%A8%D8%A7%D9%86-%D9%81%D8%A7%D8%B1%D8%B3%DB%8C/
اینم لینک دوم که بازم اموزشه
http://www.daneshjooyar.com/%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%DA%A9%D8%AA%D8%A7%D8%A8%D8%AE%D8%A7%D9%86%D9%87-curl-%D8%AF%D8%B1-php-%D8%A7%D9%86%D8%AA%D9%82%D8%A7%D9%84-%D8%A7%D8%B7%D9%84%D8%A7%D8%B9%D8%A7%D8%AA-%D8%A8%DB%8C/
دوتای بالایی فارسی هستن . اگر خواستین بگین منبع انگلیسی هم معرفی کنم بهتون . موفق باشید

behzad_20052006
دوشنبه 14 دی 1394, 18:51 عصر
بسیار عالی بود . ممنون میشم کل opt ها رو برام قرار بدید

kenman
دوشنبه 14 دی 1394, 22:03 عصر
اینم تقریبا تمامی آپشن هاش
http://php.net/manual/de/function.curl-setopt.php
:چشمک:

behzad_20052006
سه شنبه 15 دی 1394, 08:35 صبح
ضمن تشکر ویژه از شما دوست عزیزم .
بنده سعی دارم که به این سایت متصل بشم : http://85.185.93.7/index.php
با استفاده از کدی که قرار میدم
ولی ظاهرا متصل نمیشه . ممنون میشم بررسی و راهنمایی بفرمایید .

<?php
$username = '';
$password = '';
$loginUrl = 'http://85.185.93.7/index.php';

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $loginUrl);

curl_setopt($ch, CURLOPT_POST, 1);

curl_setopt($ch, CURLOPT_POSTFIELDS, 'username='.$username.'&password='.$password);

curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt');

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

$store = curl_exec($ch);

$content = curl_exec($ch);

curl_close($ch );

echo $content;

kenman
چهارشنبه 16 دی 1394, 16:35 عصر
من کدتون رو یکم تغییر دادم . با این کد تست کنین . توضیحات هم قرار دادم .


<?php
/*
* فکر کنم مشکلت از این باشه که در استفاده از کوکی بهترین راهش این راهیه که من رفتن ولی شما اومدی توی یه فایل ذخیرش کردی .
*
*
*
*/
$fields = array(
'user' => "",
'pass' => ""
);
$fields_string = NULL;
foreach ($fields as $key => $value) {
$fields_string .= $key . '=' . $value . '&';
}
rtrim($fields_string, '&');
$panel = curl_init();

curl_setopt($panel, CURLOPT_URL, "http://85.185.93.7/index.php");
curl_setopt($panel, CURLOPT_POST, count($fields));
curl_setopt($panel, CURLOPT_POSTFIELDS, $fields_string);
curl_setopt($panel, CURLOPT_RETURNTRANSFER, true);
curl_setopt($panel, CURLOPT_HEADER, 1);


echo $str = curl_exec($panel);

// با این میایم کوکی رو در میاریم
preg_match('/^Set-Cookie:\s*([^;]*)/mi', $str, $m);
// با این میایم تجزیش میکنیم رشته رو به متغیر
parse_str($m[1], $cookies);
// وقتی میخوای به صفحه ای که نیاز به اعتبار سنجی داره وصل بشی از این استفاده کن
curl_setopt($CInfo, CURLOPT_COOKIE, 'PHPSESSID='.$cookies['PHPSESSID']);
?>

behzad_20052006
چهارشنبه 16 دی 1394, 18:52 عصر
ضمن پوزش بابت تاخیر
جواب نداد و باز هم وارد نشد