htmlspecialchars($ _ SERVER [" PHP_SELF"])在字符串中添加了变量

时间:2017-02-12 18:58:42

标签: php htmlspecialchars

我试图插入PHP来构建动态内容,但是我遇到了一些问题:

$content_message = "<p class='notification'>Please type in and confirm your new password.</p>"
    . '<form method="post" id="change_password" action="htmlspecialchars(' . $_SERVER["PHP_SELF"] . '?id=' . $id . '&code=' . $code . ')">'

我无法找到一种方法让htmlspecialchars$_SERVER["PHP_SELF"]一起使用,并在字符串中添加变量。

任何帮助都将受到高度赞赏!

2 个答案:

答案 0 :(得分:0)

不要消毒htmlspecialchars。这样做:

$content_message = "<p class='notification'>Please type in and confirm your new password.</p>"
               . '<form method="post" id="change_password" action="'.htmlspecialchars(
               . $_SERVER["PHP_SELF"]
               . '?id='
               . $id
               . '&code='
               . $code
               . ).'">'

还要记住,浏览器会将表单发送到当前打开的同一地址,因此无需调用action=PHP_SELF。您可以省略操作属性。

答案 1 :(得分:0)

如果您想发送动态值,那么您可以轻松放置输入隐藏的标签,&amp;信息也是安全的。

就像这样:

file4

如果您想收到该值,请查看以下代码:

$content_message = "<p class='notification'>Please type in and confirm your new password.</p>"
               . '<form method="post" id="change_password" action="" >
               <input type="hidden" name="id" value="'.$id.'" />
               <input type="hidden" name="code" value="'.$code.'" />
               <form/>';

希望,这可能对你有所帮助。