在GET上添加到PHP变量

use*_*720 1 php get google-cloud-messaging

这个发送推送GCM的PHP文件

我试图将另一个变量添加到文件"val"并且可能错误地说该文件现在不能正常工作.

<?php
define("GOOGLE_API_KEY", "AIzaSyBNSwEoWlFQAW9AoHvlMcf2eXx2NchURaE");
define("GOOGLE_GCM_URL", "https://android.googleapis.com/gcm/send");

function send_gcm_notify($reg_id, $message, $val1) {

    $fields = array(
        'registration_ids'  => array( $reg_id ),
        'data'              => array( "message" => $message ),
        'data'              => array( "val1" => $val1 ),
    );

    $headers = array(
        'Authorization: key=' . GOOGLE_API_KEY,
        'Content-Type: application/json'
    );

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, GOOGLE_GCM_URL);
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($fields));

    $result = curl_exec($ch);
    if ($result === FALSE) {
        die('Problem occurred: ' . curl_error($ch));
    }

    curl_close($ch);
    echo $result;
 }

$reg_id = file_get_contents("TXTreg.txt");
$msg = filter_input (INPUT_GET, 'msg', FILTER_SANITIZE_EMAIL);
$val = filter_input (INPUT_GET, 'val', FILTER_SANITIZE_EMAIL);
send_gcm_notify($reg_id, $msg, $val1);
Run Code Online (Sandbox Code Playgroud)

应该对文件做什么将使用变量"val"?

Sud*_*oti 5

data多次在数组中传递索引,改变:

$fields = array(
    'registration_ids'  => array( $reg_id ),
    'data'              => array( "message" => $message ),
    'data'              => array( "val1" => $val1 ),
);
Run Code Online (Sandbox Code Playgroud)

$fields = array(
    'registration_ids'  => array( $reg_id ),
    'data'              => array( "message" => $message, "val1" => $val1 )
);
Run Code Online (Sandbox Code Playgroud)

并且您声明了$val变量并且正在尝试使用$val1,更改为:

$val = filter_input (INPUT_GET, 'val', FILTER_SANITIZE_EMAIL);
send_gcm_notify($reg_id, $msg, $val);
Run Code Online (Sandbox Code Playgroud)