PDA

View Full Version : ارسال اطلاعات از طریق روش Post



saberdesign
دوشنبه 22 اسفند 1390, 16:45 عصر
با سلام

چگونه میشه اطلاعات فرممان رو به گونه ای به فرم سایت دیگر ارتباط دهیم .

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

فرض کنیم سایت a چند تا تکست باکس داره با یک دکمه ارسال

میخواهیم که همین تکست باکس ها و دکنه ارسال در سایت b هم باشد و اطلاعات به سایت a ریخته شود .

با تشکر

Unique
دوشنبه 22 اسفند 1390, 17:04 عصر
با curl میتونی این کار را انجام بدی :


//create array of data to be posted
$post_data['firstName'] = 'Name';
$post_data['action'] = 'Register';
//traverse array and prepare data for posting (key1=value1)
foreach ( $post_data as $key => $value) {
$post_items[] = $key . '=' . $value;
}
//create the final string to be posted using implode()
$post_string = implode ('&', $post_items);
//create cURL connection
$curl_connection =
curl_init('http://www.domainname.com/target_url.php');
//set options
curl_setopt($curl_connection, CURLOPT_CONNECTTIMEOUT, 30);
curl_setopt($curl_connection, CURLOPT_USERAGENT,
"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)");
curl_setopt($curl_connection, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl_connection, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl_connection, CURLOPT_FOLLOWLOCATION, 1);
//set data to be posted
curl_setopt($curl_connection, CURLOPT_POSTFIELDS, $post_string);
//perform our request
$result = curl_exec($curl_connection);
//show information regarding the request
print_r(curl_getinfo($curl_connection));
echo curl_errno($curl_connection) . '-' .
curl_error($curl_connection);
//close the connection
curl_close($curl_connection);

منبع : http://www.html-form-guide.com

MMSHFE
دوشنبه 22 اسفند 1390, 17:27 عصر
بدون استفاده از cURL هم میشه. میتونید با jQuery و تابع post. اون اینکار رو انجام بدین. همچنین میشه یک iframe مخفی بگذارین و بهش name بدین و action فرمتون در سایت b رو برابر با صفحه مربوطه در سایت a بگذارین و target فرم رو برابر با نام همون iframe مخفی قرار بدین. البته استفاده از jQuery اصولی تر هست و ازنظر SEO هم بهتره ولی از اونجا که ممکنه JS توی مرورگر کاربر غیرفعال بشه، روش دوم همیشه جواب میده.

masato
یک شنبه 10 اردیبهشت 1391, 22:55 عصر
با سلام به دوستان عزیز
من یه فرم ثبت نام توی سایتم دارم
که میخوام مثلا توی یه سایتی ثبت نام کنه فیلد امنیتی نداره
حالا با استفاده از curl یعنی میره خودش فیلد های اون فرم صفحه رو پر میکنه؟:متعجب:
با تشکر

رضا قربانی
یک شنبه 10 اردیبهشت 1391, 23:22 عصر
با سلام به دوستان عزیز
من یه فرم ثبت نام توی سایتم دارم
که میخوام مثلا توی یه سایتی ثبت نام کنه فیلد امنیتی نداره
حالا با استفاده از curl یعنی میره خودش فیلد های اون فرم صفحه رو پر میکنه؟:متعجب:
با تشکر
اگر کد امنیتی یا کپتچا نداشته باشه جواب شما بله هست.

اینطوری نیست که خودش پر کنه . باید تعریف کنید.

MMSHFE
یک شنبه 10 اردیبهشت 1391, 23:38 عصر
نه به اين شكل، بلكه بجاي وصل شدن به صفحه فرم، به صفحه مقصد فرم وصل ميشه و مقادير خودش رو با post براش ميفرسته و جواب رو ازش ميگيره.

masato
یک شنبه 10 اردیبهشت 1391, 23:48 عصر
با تشکر
یعنی post میشه به action فرم ؟

MMSHFE
یک شنبه 10 اردیبهشت 1391, 23:50 عصر
بله دقيقاً همينطوره.