0

有人可以帮我找出$secret线路中的问题吗?

$secret应该给:

{"name":"JustAname","extra":"1","password":"ASD123","report":"http:\/\/website.com\/dev\/gamereport\/0001.php"}

这是PHP代码:

<?php
date_default_timezone_set('America/Montreal');
    $name = 'JustAname';
    $extra = '1';
    $password = 'ASD123';
    $reception = 'http:\/\/website.com\/dev\/gamereport.php';
    // Code de génération de la base64
    $secret = '{"name":"'.$name'","extra":"'.$extra'","password":"'.$password'","report":"'.$reception'"}';
    $encodedSecret = base64_encode($secret);


    $tournementLink = 'pvpnet://lol/customgame/joinorcreate/map1/pick6/team5/specALL/'.$encodedSecret;

    echo $tournementLink;
?>

我得到:解析错误:语法错误,第 20 行 [...] 中出现意外的 T_CONSTANT_ENCAPSED_STRING

4

1 回答 1

2

正如@hobbs 建议的那样,您错误地连接了字符串。您还使用了未定义的变量$Tournament,我认为应该是$name。尝试这个:

$secret = '{"name":"' . $name . '","extra":"' . $extra . '","password":"' . $password . '","report":"' . $reception . '"}';

附带说明一下,在 PHP 中创建 JSON 的一种更好的方法是使用数组和json_encode()

$secret = json_encode(array(
        'name' => $name,
        'extra' => $extra,
        'password' => $password,
        'report' => $reception));
于 2014-02-22T20:58:45.327 回答