30/09/2018, 22:26
Gọi cURL gián tiếp qua một hàm khác thì không chạy được?
Em có hàm POST request như sau:
function sendAPI($url, $data){ $ch = curl_init($url); $jsonDataEncoded = $data; curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $jsonDataEncoded); curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json')); if(!empty($input['entry'][0]['messaging'][0]['message'])){ $result = curl_exec($ch); } }
Rồi em gọi nó:
sendAPI($someUrl, $someData);
thì nó không chạy, còn em dùng trực tiếp:
$ch = curl_init($someUrl); $jsonDataEncoded = $someData; curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $jsonDataEncoded); curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json')); if(!empty($input['entry'][0]['messaging'][0]['message'])){ $result = curl_exec($ch); }
thì nó lại chạy bình thường. Ai giúp em với ạ :((
Bài liên quan
function mà ko return thì sao xuất kết quả được bạn ??
Hàm không bắt buộc phải return mà bạn : http://stackoverflow.com/questions/7656685/does-php-functions-needs-return-any-value
Mình thử thêm cả return nhưng vẫn không chạy bạn ạ :((
Haha, cái này nhiều người cũng cóc biết tại sao, cách của chủ topic không chạy, nhưng này thì chạy:
Còn không thì gọi cái này:
`curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);``
trước khi gọi các curl_xxx nào khác.
À em fix được rồi ạ, do em chưa global cái
$input
@@ Cám ơn mọi ngườiBiến trong function là biến cục bộ mà bạn, cứ return cho lành =))
Ok cám ơn bạn Mình sẽ lưu í