0

所以我试图让用户可以从列表中选择一个文件,然后从服务器中删除该文件。我知道我在这里忽略了很多安全问题,但我现在真的只需要获得一个基本版本即可工作。因此,在此处跟进其他一些线程是您选择要删除的文件的链接:

echo '<a href="delete.php?file=ebooks/'.$name.'" onclick="return confirm(\'Are you sure?\')">Delete</a>';

我的问题是,在我将变量 $name 添加到链接的地方,它破坏了我的引号嵌套,转义它们不起作用,因为它只是将它呈现为字符串“$name”而不是变量。谁能给我或帮我看看写这个声明的正确方法是什么?谢谢

4

2 回答 2

1

在 urlencode() 中包装 $name:

echo '<a href="delete.php?file=ebooks/'.urlencode($name).'" onclick="return confirm(\'Are you sure?\')">Delete</a>';
于 2013-05-19T19:00:57.770 回答
0

我喜欢对复杂的字符串(例如 HTML)使用Heredoc 语法:

echo <<<HTML
<a href="delete.php?file=ebooks/{$name}" onclick="return confirm('Are you sure?')">
    Delete
</a>
HTML;

无需转义引号,无需结束变量字符串。简单而且看起来不错。

于 2013-05-19T19:00:46.160 回答