簡體   English   中英

PHP常量有時不被其定義的值替換

[英]PHP constant is sometimes not replaced by its defined value

我對代碼產生間歇性的結果感到困惑。

我有一個用CodeIgniter開發的PHP應用程序,該軟件的一部分發送帶有鏈接的審閱電子郵件。該鏈接在代碼中聲明如下,該鏈接用於構建HTML電子郵件正文:

$link = BASE_URL.'/review?id='.$review_id;

BASE_URL是如下定義的常量:

define('BASE_URL', 'http://www.domain-name.com');

大多數情況下,電子郵件中的鏈接格式正確,並且用域名替換常量。 但是,我們已經收到了對審閱電子郵件的答復,其中用戶說該鏈接不適用於他們。 然后查看他們回復的電子郵件中的鏈接,然后該鏈接具有以下URL:

base_url/review?id=1234

現在這看起來很奇怪,因為代碼會產生2個不同的結果。 造成此問題的原因可能是什么? 以前有沒有經歷過這樣的事情?

我建議您首先將框架本身用於base_url();

除此之外,如果您無法對其進行跟蹤,建議您將發送的鏈接記錄到文件中,並查看發送該鏈接時獲得的值。

定義在哪里發生? 這確實聽起來像lupatus編寫的內容,所以也許您在定義它之前先調用它。

我們正在猜測,因為這是101次調試:)

<?php echo base_url();?>

將以上代碼替換為BASE_URL

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM