簡體   English   中英

轉義PHP字符串

[英]Escaping PHP string

我正在嘗試將php會話添加到內容中,如下所示,但它只是顯示一個空白頁面。 我確定轉義是不正確的。

echo "<meta http-equiv=\"refresh\" content=\"0;URL=$_SESSION['name'];\">";

這就是我想要實現的目標。

$_SESSION['name'] = 'somepage.php'

我想將會話添加到URL,以便將其重定向到“ somepage”。

組合html引號和變量的最佳方法是按以下方式進行操作:

echo '<meta http-equiv="refresh" content="0;URL=' . $_SESSION['name'] . ';">';

您可能想學習如何在PHP字符串中解析變量

// do not use single quotes
echo "<meta http-equiv=\"refresh\" content=\"0;URL=$_SESSION[name]\">";

// curly brackets syntax works too but requires quotes; useful in cases when
// variable name is immediately followed by alpha-numeric/underscore character(s)
echo "<meta http-equiv=\"refresh\" content=\"0;URL={$_SESSION['name']}\">";

// curly brackets alternate syntax
echo "<meta http-equiv=\"refresh\" content=\"0;URL=${_SESSION['name']}\">";

就個人而言,我喜歡使用sprintf()

echo sprintf("<meta http-equiv=\"refresh\" content=\"0;URL=%s\">", $_SESSION['name']);

在雙引號“智能”字符串中,不能僅在單個變量中包含引用數組。

嘗試這個:

echo "<meta http-equiv=\"refresh\" content=\"0;URL=".$_SESSION['name'].";\">";

嘗試這個

echo '<meta http-equiv="refresh" content="0;URL=' . $_SESSION['name'] . ';">';

或使用

header("Location: http://www.example.com/" . $_SESSION['name']);
echo "<meta http-equiv=\"refresh\" content=\"0;URL=".$_SESSION['name'].";\">";

應該工作正常。

也許是這樣的:

echo "<meta http-equiv=\"refresh\" content=\"0;URL=" . $_SESSION['name'] . ";\">";

我不知道為什么沒人提到(s)printf

printf('<meta http-equiv="refresh" content="0;URL=%s;">', $_SESSION['name']);

一旦需要在文本中輸出許多變量,這將非常有用。 請參閱手冊

暫無
暫無

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

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