1

我正在寻找这样的东西:

<?php       
if($user_authorized == 1){
//some HTML/PHP code is VISIBLE to user
}
else{
echo"You are not authorized!";
}
?>

现在我想让用户看到的数据需要极高的隐私级别(这是一些合法的内容)。如果我使用 HTML,即使用户未经授权,它也会显示在源代码中。如果我使用 PHP,我几乎不可能格式化内容,因为它需要<h1><h2>在几个地方等等......

是否可以将数据保存在数据库中,然后仅在用户获得授权时才检索它?如果是这样,我会有格式选项吗?

我还有哪些其他选择才能达到同样的效果?

4

2 回答 2

3

好的,从您的评论看来,您在这里面临的唯一问题是格式化,正如@Mark Ba​​ker 所建议的,您应该使用heredoc 进行格式化..

<?php       
$authenticatedText = <<<HTML
//as much HTML as you want here.. you can mix php variables as well by just saying $variable name
<table></table>
HTML;

if($user_authorized == 1){
//some HTML/PHP code is VISIBLE to user
echo $authenticatedText;
}
else{
echo"You are not authorized!";
}
?>

您还可以查看 php 中的模板系统,例如 smarty 模板引擎。

于 2013-07-05T23:15:49.013 回答
2

我不认为你真的有问题。php 只会提供真实结果中的代码。要使用 html,要么回显 html 代码,要么(更简单地)转义到您的 html:

<?php       
if($user_authorized == 1){
//some HTML/PHP code is VISIBLE to user
echo "<table ...>";
echo "<tr><td><h1></h1></td></tr>"; // etc. OR simply escape out to the html as follows:
?>
<table ...>
<tr><td><h1></h1></td></tr>
</table>
<?php
}
else{
echo"You are not authorized!";
}
?>

客户端(浏览器)只接收 PHP 发送的内容。所以用户只会看到他们想要的代码。

于 2013-07-05T23:10:55.003 回答