2017-04-07 19 views
0

私は検証のために以下のコードを使用しています。HTTPエラー500 - SMSGteway.me

login.php:

include "smsGateway.php"; 
$smsGateway = new SmsGateway('[email protected]', 'password'); 

$dId = 98751; 

$numb = '30xxxxx'; 

date_default_timezone_set('Asia/Karachi'); 

$dated = date('d-m-y h:i a', time()); 

$msg = "Fraudlent activity was detected on prescription data website on ".$dated." ."; 

$deviceID = $dId; 
$number = '+92'.$numb; 
$message = $msg; 

$result = $smsGateway->sendMessageToNumber($number, $message, $deviceID); 

はsmsGateway.php:?

<?php 

class SmsGateway { 

    static $baseUrl = "https://smsgateway.me"; 


    function __construct($email,$password) { 
     $this->email = $email; 
     $this->password = $password; 
    } 

    function createContact ($name,$number) { 
     return $this->makeRequest('/api/v3/contacts/create','POST',['name' => $name, 'number' => $number]); 
    } 

    function getContacts ($page=1) { 
     return $this->makeRequest('/api/v3/contacts','GET',['page' => $page]); 
    } 

    function getContact ($id) { 
     return $this->makeRequest('/api/v3/contacts/view/'.$id,'GET'); 
    } 


    function getDevices ($page=1) 
    { 
     return $this->makeRequest('/api/v3/devices','GET',['page' => $page]); 
    } 

    function getDevice ($id) 
    { 
     return $this->makeRequest('/api/v3/devices/view/'.$id,'GET'); 
    } 

    function getMessages($page=1) 
    { 
     return $this->makeRequest('/api/v3/messages','GET',['page' => $page]); 
    } 

    function getMessage($id) 
    { 
     return $this->makeRequest('/api/v3/messages/view/'.$id,'GET'); 
    } 

    function sendMessageToNumber($to, $message, $device, $options=[]) { 
     $query = array_merge(['number'=>$to, 'message'=>$message, 'device' => $device], $options); 
     return $this->makeRequest('/api/v3/messages/send','POST',$query); 
    } 

    function sendMessageToManyNumbers ($to, $message, $device, $options=[]) { 
     $query = array_merge(['number'=>$to, 'message'=>$message, 'device' => $device], $options); 
     return $this->makeRequest('/api/v3/messages/send','POST', $query); 
    } 

    function sendMessageToContact ($to, $message, $device, $options=[]) { 
     $query = array_merge(['contact'=>$to, 'message'=>$message, 'device' => $device], $options); 
     return $this->makeRequest('/api/v3/messages/send','POST', $query); 
    } 

    function sendMessageToManyContacts ($to, $message, $device, $options=[]) { 
     $query = array_merge(['contact'=>$to, 'message'=>$message, 'device' => $device], $options); 
     return $this->makeRequest('/api/v3/messages/send','POST', $query); 
    } 

    function sendManyMessages ($data) { 
     $query['data'] = $data; 
     return $this->makeRequest('/api/v3/messages/send','POST', $query); 
    } 

    private function makeRequest ($url, $method, $fields=[]) { 

     $fields['email'] = $this->email; 
     $fields['password'] = $this->password; 

     $url = smsGateway::$baseUrl.$url; 

     $fieldsString = http_build_query($fields); 


     $ch = curl_init(); 

     if($method == 'POST') 
     { 
      curl_setopt($ch,CURLOPT_POST, count($fields)); 
      curl_setopt($ch,CURLOPT_POSTFIELDS, $fieldsString); 
     } 
     else 
     { 
      $url .= '?'.$fieldsString; 
     } 

     curl_setopt($ch, CURLOPT_URL,$url); 
     curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); 
     curl_setopt($ch, CURLOPT_HEADER , false); // we want headers 
     curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 

     $result = curl_exec ($ch); 

     $return['response'] = json_decode($result,true); 

     if($return['response'] == false) 
      $return['response'] = $result; 

     $return['status'] = curl_getinfo($ch, CURLINFO_HTTP_CODE); 

     curl_close ($ch); 

     return $return; 
    } 
} 

>

私はすべてが魔法のように動作するコードずにログインしてみてください。しかし、このコードを含めてログインしようとすると、ブラウザにHTTP ERROR 500が表示されます。 PHP解析エラー:構文エラー、予期しない '[' /home/xxxx/public_html/xxxx/smsGateway.phpで

+0

まあ...は18行ですか? – Tom

+0

@thebluefox line 18:$ this-> makeRequest( '/ api/v3/contacts'、 'GET'、['page' => $ page])を返します。 – X3NTiN3

答えて

2

多分そのPHPのバージョンissureライン18上の エラー・ログには、この表示されます。試してみてくださいarray('page' => $page)、insted of ['page' => $page]

+0

私の現在のPHPバージョンは5.6.30 – X3NTiN3

+1

ですので、 '['foo' => $ bar]'のような配列構文は機能しません。 PHPバージョン7以上から利用可能です。 – Playeasy

+0

ありがとうございました。今は正しく動作しています! :) – X3NTiN3