2016-08-17 1 views
2

Onesignal Api에서이 간단한 양식 작업을 어떻게 만들 수 있는지 궁금합니다. HTML 메시지를 작성하여 메시지 메시지를 onesignal php 파일에 게시하십시오.HTML 양식에서 onesignal PHP Api로 게시 하시겠습니까?

<form action="one.php" method="post"> 
<p>Your Message: <input type="text" name="Message" /></p> 
<p><input type="submit" /></p> 
</form> 

<?PHP 
    function sendMessage(){ 
    $content = array(
     "en" => 'Message' <-the message field I need to replace via form 
    ); 

    $fields = array(
     'app_id' => "896068a9-2b83-4a1d-9c6a-53300261e7d5", 
     'included_segments' => array('All'), 
     'data' => array("foo" => "bar"), 
     'contents' => $content 
    ); 

    $fields = json_encode($fields); 


    $ch = curl_init(); 
    curl_setopt($ch, CURLOPT_URL, "https://onesignal.com/api/v1/notifications"); 
    curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json', 
          'Authorization: Basic NTkyZDEyNjktOGJiNS60YmQ5LT2hZDktMWQ5MzA1ZjY3Mjcz')); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); 
    curl_setopt($ch, CURLOPT_HEADER, FALSE); 
    curl_setopt($ch, CURLOPT_POST, TRUE); 
    curl_setopt($ch, CURLOPT_POSTFIELDS, $fields); 
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); 

    $response = curl_exec($ch); 
    curl_close($ch); 

    return $response; 
    } 

    $response = sendMessage(); 
    $return["allresponses"] = $response; 
    $return = json_encode($return); 

    print("\n Message Send"); 
?> 

one.php 나는 내가 방법을 찾을 수가 없어 여기에 누군가를 위해 간단 할 수 있습니다 알고 있습니다. 나는 '메시지'를 <?php echo htmlspecialchars($_POST['Message']); ?>으로 바꾸려고했지만 오류가 발생합니다.

답변

1

은 아마 당신은 기능의 작동 방식을 좀 더 배워야한다 http://php.net/manual/en/functions.arguments.php

<?php 

function sendMessage($message){ 

    $content = array(
     "en" => $message 
    ); 

    $fields = array(
     'app_id' => "5eb5a37e-b458-11e3-ac11-000c2940e62c", 
     'included_segments' => array('All'), 
     'data' => array(
      "foo" => "bar" 
     ), 
     'contents' => $content 
    ); 

    $fields = json_encode($fields); 

    print("\nJSON sent:\n"); 
    print($fields); 

    $ch = curl_init(); 
    curl_setopt($ch, CURLOPT_URL, "https://onesignal.com/api/v1/notifications"); 
    curl_setopt($ch, CURLOPT_HTTPHEADER, array(
      'Content-Type: application/json; charset=utf-8', 
      'Authorization: Basic NGEwMGZmMjItY2NkNy0xMWUzLTk5ZDUtMDAwYzI5NDBlNjJj' 
     ) 
    ); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); 
    curl_setopt($ch, CURLOPT_HEADER, FALSE); 
    curl_setopt($ch, CURLOPT_POST, TRUE); 
    curl_setopt($ch, CURLOPT_POSTFIELDS, $fields); 
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); 

    $response = curl_exec($ch); 
    curl_close($ch); 

    return $response; 
} 

$response = sendMessage($_POST['Message']); 

$return["allresponses"] = $response; 
$return = json_encode($return); 

print("\n\nJSON received:\n"); 
print($return); 
print("\n"); 
관련 문제