私はこのPHPスクリプトを少し前に作成しましたが、うまくいきます。"echo"も "print"も "printf"も使用されていないにもかかわらず、phpスクリプトは値を返しますか?
UPDATE
のみのもの(この問題には関係ありませんが判明したテキストの多くを削除しました。):それは働いている理由を私は知りません。ため、ここでの要求に
UPDATE
を($結果、私は方法がわからない返します)問題の元(賢明な情報を交換)スクリプト:
<?php
$http_origin = $_SERVER['HTTP_ORIGIN'];
if ($http_origin == "https://some.domains.tld" ||
$http_origin == "https://some.domains.tld" ||
$http_origin == "https://some.domains.tld" ||
$http_origin == "https://some.domains.tld" ||
$http_origin == "https://some.domains.tld")
{
header("Access-Control-Allow-Origin: ".$http_origin);
}
### global variables
$curl; $mode = $_POST['mode'];
### init logging
$file = fopen('error.txt', 'w');
### log request source
#fwrite($file, "request from: ".$http_origin."\n");
### create variable parameters
$api_key='mysecretkey';
###Init curl
#fwrite($file, "Ok, try to include curl..."."\n");
try{
$curl = curl_init();
}catch(Exception $e){
fwrite($file, "curl init failed. Look: "."\n".$e."\n");
return null;
}
switch ($mode) {
case 'alldatas':
alldatas();
break;
case 'adata':
adata();
break;
case 'register':
register();
break;
default:
return;
}
###Get list of all datas
function alldatas()
{
global $curl;
global $api_key;
global $file;
$result;
$params = ['api_key' => $api_key];
try{
curl_setopt($curl, CURLOPT_URL, "https://some.third-party.service/api/v2/ever/webinars");
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $params);
$result = curl_exec($curl);
}catch(Exception $e){
fwrite($file, "data list failed. Look: "."\n".$e."\n");
return null;
}
return $result;
}
###Get a data
function adata()
{
global $curl;
global $api_key;
global $file;
$result;
$data_id = $_POST['data_id'];
if($data_id){
$params = [
'api_key' => $api_key,
'data_id' => $data_id
];
try{
curl_setopt($curl, CURLOPT_URL, "https://some.third-party.service/api/v2/ever/webinar");
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $params);
$result = curl_exec($curl);
}catch(Exception $e){
fwrite($file, "webinar fetch failed, man. Look: "."\n".$e."\n");
return null;
}
return $result;
}
}
###Register user to a datas
function register(){
global $curl;
global $api_key;
global $file;
$result;
$data_id = $_POST['data_id'];
$name = $_POST['name'];
$email = $_POST['email'];
$schedule = $_POST['schedule'];
$timezone = $_POST['timezone'];
if($data_id && $name && $email && $schedule && $timezone){
$params = [
'api_key'=>$api_key,
'data_id'=>$data_id,
'name'=>$name,
'email'=>$email,
'schedule'=>$schedule,
'timezone'=>$timezone
];
try{
curl_setopt($curl, CURLOPT_URL, "https://some.third-party.service/api/v2/ever/register");
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $params);
$result = curl_exec($curl);
}catch(Exception $e){
fwrite($file, "data list failed. Look: "."\n".$e."\n");
return null;
}
}
return $result;
}
?>
SImplified版は明らかにいくつかの賢明なコードを失った。 –
@u_mulderしかし、どのようなコードですか?完全版でさえ、ファイル全体に "エコー"、 "プリント"、または "プリント"はありません。だから質問は基本的には:データを返す他の方法が存在する/残っている? – MarMun
_データを返す他の方法はありますか?_ PHPタグに含まれていないもの... – AbraCadaver