PHP - 使用未定义的常量

Posted

技术标签:

【中文标题】PHP - 使用未定义的常量【英文标题】:PHP - Use of undefined constant 【发布时间】:2016-08-19 16:30:45 【问题描述】:

我收到以下错误。我已经尝试了很多东西,但它不起作用。这是一个使用 Paypal 支付系统的登录,当我在 Paypal 上测试时它正在工作,但是代码脚本失败。

<script>
    paypal.use( ["login"], function(login) 
    login.render (
        'appid': '<b>Notice</b>: Use of undefined constant client_id - assumed 'client_id' in <b>/home/yu/public_html/yu.com/catalog/view/theme/beaute/template/module/pp_login.tpl</b> on line <b>8</b>client_id',
        'authend': '<b>Notice</b>: Use of undefined constant sandbox - assumed 'sandbox' in <b>/home/yu/public_html/yu.com/catalog/view/theme/beaute/template/module/pp_login.tpl</b> on line <b>9</b>sandbox',
        'scopes': '<b>Notice</b>: Use of undefined constant scopes - assumed 'scopes' in <b>/home/yu/public_html/yu.com/catalog/view/theme/beaute/template/module/pp_login.tpl</b> on line <b>10</b>scopes',
        'containerid': 'pp_login_container',
        'locale': '<b>Notice</b>: Use of undefined constant locale - assumed 'locale' in <b>/home/yu/public_html/yu.com/catalog/view/theme/beaute/template/module/pp_login.tpl</b> on line <b>12</b>locale',
        'theme': '<b>Notice</b>: Use of undefined constant button_colour - assumed 'button_colour' in <b>/home/yu/public_html/yu.com/catalog/view/theme/beaute/template/module/pp_login.tpl</b> on line <b>13</b>button_colour',
        'returnurl': '<b>Notice</b>: Use of undefined constant return_url - assumed 'return_url' in <b>/home/yu/public_html/yu.com/catalog/view/theme/beaute/template/module/pp_login.tpl</b> on line <b>14</b>return_url'
    );
);
    </script>

这是导致错误的代码。

  <div class="panel panel-default">
  <div class="panel-body" style="text-align: right;">
    <span id="pp_login_container"></span>
   <script src="https://www.paypalobjects.com/js/external/api.js"></script>
    <script>
    paypal.use( ["login"], function(login) 
    login.render (
        'appid': '<?php if (isset($pp_login_client_id)) echo $pp_login_client_id;else echo client_id; ?>',
        'authend': '<?php if (isset($pp_login_sandbox)) echo $pp_login_sandbox;else echo sandbox; ?>',
        'scopes': '<?php if (isset($pp_login_scopes)) echo $pp_login_scopes;else echo scopes; ?>',
        'containerid': 'pp_login_container',
        'locale': '<?php if (isset($pp_login_locale)) echo $pp_login_locale;else echo locale; ?>',
        'theme': '<?php if (isset($pp_login_button_colour)) echo $pp_login_button_colour;else echo button_colour; ?>',
        'returnurl': '<?php if (isset($pp_login_return_url)) echo $pp_login_return_url;else echo return_url; ?>'
    );
);
    </script>
  </div>
</div>

【问题讨论】:

【参考方案1】:

如果 client_id、sanbox 等是变量,则加上 $。比如$client_id..等。如果不是,它应该像echo 'client_id'; 如果它们是常量,它应该被定义。喜欢,define('client_id', 'some value');

【讨论】:

请查看here

以上是关于PHP - 使用未定义的常量的主要内容,如果未能解决你的问题,请参考以下文章

使用未定义的常量 MCRYPT_BLOWFISH

警告:更新到 PHP 7.2 后使用未定义的常量 _ - 假定为“_”(这将在 PHP 的未来版本中引发错误)

未定义常量 http/2

codeIgniter PHP 8.0中未定义的常量“MCRYPT_RIJNDAEL_128”[重复]

Laravel View Composer“使用未定义的常量”

错误:未定义的类常量'MYSQL_ATTR_USE_BUFFERED_QUERY'