สอบถามเรื่องการใช้งาน curl ในการส่งค่ารับค่าแล้ว insert เข้าฐานข้อมูลครับ
ต้องการใช้ curl ในการส่งข้อมูลจาก server 1 ไปให้ server 2 ประมวลผล เมื่อประมวลผลเสร็จก็ส่งตัวแปรจาก server 2 มาที่ server 1 เพื่อจะ insert ครับแต่ติดปัญหาตรงที่ส่งค่าจาก server 2 มา insert ไม่ได้ครับ
server 1
<?php
$url = 'http://................/login_action.php'; // กำหนด URl ของเว็บไวต์ B
$request = 'username=guest&password=guest'; // กำหนด HTTP Request โดยระบุ username=guest และ password=เguest (รูปแบบเหมือนการส่งค่า $_GET แต่ข้างหน้าข้อความไม่มีเครื่องหมาย ?)
$ch = curl_init(); // เริ่มต้นใช้งาน cURL
curl_setopt($ch, CURLOPT_URL, $url); // กำหนดค่า URL
curl_setopt($ch, CURLOPT_POST, 1); // กำหนดรูปแบบการส่งข้อมูลเป็นแบบ $_POST
curl_setopt($ch, CURLOPT_POSTFIELDS, $request); // กำหนดค่า HTTP Request
curl_setopt($ch, CURLOPT_HEADER, 0); // กำให้ cURL ไม่มีการตั้งค่า Header
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // กำหนดให้ cURL คืนค่าผลลัพท์
$response = curl_exec($ch); // ประมวลผล cURL
curl_close($ch); // ปิดการใช้งาน cURL
echo $response; // แสดงผลการทำงาน
?>
server 2
<?php
// echo $_POST['username'];
if(!empty($_POST['username']) && !empty($_POST['password']))
{
if($_POST['username'] == 'guest' && $_POST['password'] == 'guest')
{
$test = "
Hello Guest,";
return;
}
else
{
echo "Login Error!!!!";
return;
}
}
else
{
return;
}
?>
รบกวนผู้รู้ด้วยครับTag : PHP
Date :
2020-03-19 14:29:51
By :
coop_korat
View :
2734
Reply :
3
ลองเปลี่ยนมาใช้ function http_build_query(); ดูครับ
Code (PHP)
$fields_string = http_build_query(['live'=>$lives]);
$url = 'http://predict.thaigamehub.com/Cron/Live';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 ");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $fields_string);
curl_exec($ch); curl_close($ch);
ส่วนตัว server 2
คุณใช้คำสั่ง return คุณ return อะไร เมื่อมันไม่ใช้ function
ประวัติการแก้ไข 2020-03-19 15:01:34
Date :
2020-03-19 14:59:12
By :
Chaidhanan
แล้ว server 2 ควรจะแก้ยังไงครับ รบกวนด้วยครับ
Date :
2020-03-19 16:34:07
By :
coop_korat
อยากให้โชว์ อะไร ก็ใช้คำสั่ง echo ออกไปเท่านั้น
แต่ส่ิงที่ echo ออกไป เขานิยมส่งเป็น text ในรูปแบบ json
คือเอาข้อมูลที่ต้องการส่ง มาเข้ารหัส json เพื่อส่งออกเป็น text แล้วนำ text ที่ได้รับ มา ถอดรหัส ให้เป็น array อีกที
server 2
echo ่json_encode( ['x'=>1, 'y'=>2]);
server 1
Code (PHP)
<?php
$response = curl_exec($ch); // ประมวลผล cURL
echo $response;
?><br>
<pre>
<?=print_r($json_decode($response),true)?>
</pre>;
ประวัติการแก้ไข 2020-03-19 17:12:04
Date :
2020-03-19 17:11:38
By :
Chaidhanan
Load balance : Server 02