strip_tags php函数正在离开标签

时间:2012-10-02 17:53:45

标签: php html strip-tags

下面我的代码是在检查页面源没有删除用户名的HTML标签时输出,即使我指定剥离它们。如果我通过PHP函数<p>本身删除底部的echo标记而只删除Login()strip_tags可以正常工作,但如果我尝试输出条带标记的值HTML,它失败了。

PHP代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
</head>
<body>
<?php

function Login() {
    $username = $_POST['username'];
    $password = $_POST['password'];

    $username = strip_tags($username);
    $password = strip_tags($password);
    $username = trim($username);
    $password = trim($password);
?>


<?php echo "<p>" . $username . "</p>" ?></p>
<?php echo "<p>" . $password . "</p>" ?></p> 
</body>
</html>

有关为什么回显文本$ username和$ password与标签一起显示的任何见解仍然非常感激。

1 个答案:

答案 0 :(得分:3)

在此示例中,您没有调用Login()函数,并且在函数声明后缺少}。此外,变量范围已关闭。请考虑以下事项:)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
</head>
<body>
<?php

function Login() {
    $username = strip_tags(trim($_POST['username']));
    $password = strip_tags(trim($_POST['password']));
    echo '<p>', $username, '</p><p>', $password, '</p>';
}

if (!empty($_POST)) Login();
?>
</body>
</html>