0

当我检查不删除用户名的 HTML 标记的页面源时,我的下面的代码给出了一个输出,即使我指定删除它们。如果我删除<p>底部的标签并仅echo通过 PHP 函数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 与标签一起显示的见解仍然将不胜感激。

4

1 回答 1

3

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

<!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>
于 2012-10-02T17:58:27.960 回答