Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/274.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP中的受保护内容_Php_Html - Fatal编程技术网

PHP中的受保护内容

PHP中的受保护内容,php,html,Php,Html,我在找这样的东西: <?php if($user_authorized == 1){ //some HTML/PHP code is VISIBLE to user } else{ echo"You are not authorized!"; } ?> 现在,我想让用户看到的数据需要高度的隐私,这是一些合法的内容。如果我使用HTML,即使用户未经授权,它也会显示在源代码中。如果我使用PHP,我几乎不可能格式化内容,因为它需要在几个地方等 我是否可以将数据保存在数据库中

我在找这样的东西:

<?php       
if($user_authorized == 1){
//some HTML/PHP code is VISIBLE to user
}
else{
echo"You are not authorized!";
}
?>
现在,我想让用户看到的数据需要高度的隐私,这是一些合法的内容。如果我使用HTML,即使用户未经授权,它也会显示在源代码中。如果我使用PHP,我几乎不可能格式化内容,因为它需要在几个地方等

我是否可以将数据保存在数据库中,然后仅在用户获得授权的情况下检索数据?如果是,我会有格式选项吗


我还有什么其他选择可以达到同样的效果呢?

我认为你真的没有问题。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发送的内容。因此,用户只能看到他们想要的代码。

我认为您没有什么问题。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发送的内容。因此,用户只能看到他们想要的代码。

好的,从您的评论来看,您在这里面临的唯一问题似乎是格式,正如@Mark Baker所建议的,您应该使用herdoc进行格式设置

<?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 templating engine。

好的,从您的评论来看,您在这里面临的唯一问题似乎是格式,正如@Mark Baker所建议的,您应该使用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模板引擎。

您需要学习如何将php代码与html模板分离。我建议大家阅读MVC模式,这是很常见的。为什么几乎不可能格式化内容?只需使用herdoc或类似工具定义内容的字符串,然后回显它;或者?>要退出PHP,请显示格式化的内容,然后您可以在PHP中自己完成,因为PHP可以提供html。。您是将用户发送到此页面,还是在检查身份验证后使用结果动态更新页面内容?用户看不到任何服务器代码user@MarkBaker! 有大约400页的内容,仅针对一种类型的用户,将有大约30多种类型的用户。我知道先退出PHP,然后在HTML之后再继续,但是格式化又是一件很忙的事情。你需要学习如何将PHP代码与HTML模板分离。我建议大家阅读MVC模式,这是很常见的。为什么几乎不可能格式化内容?只需使用herdoc或类似工具定义内容的字符串,然后回显它;或者?>要退出PHP,请显示格式化的内容,然后您可以在PHP中自己完成,因为PHP可以提供html。。您是将用户发送到此页面,还是在检查身份验证后使用结果动态更新页面内容?用户看不到任何服务器代码user@MarkBaker! 有大约400页的内容,仅针对一种类型的用户,将有大约30多种类型的用户。我知道退出PHP,然后在HTML之后继续,但是格式化又是一件很忙的事情。你说格式化没有得到解决是什么意思?您可以完全控制格式如果用户未经授权,php标记中的HTML部分将出现在源代码中。是这样吗?如果用户未经授权,则通过其浏览器在源代码中显示的所有内容将是:您未经授权。在我的示例中,只有当$user_authorized==1为真时,才会向浏览器显示该表。您的意思是没有解析格式?您可以完全控制格式如果用户未经授权,php标记中的HTML部分将出现在源代码中。是这样吗?如果用户未经授权,则通过其浏览器在源代码中显示的所有内容将是:You not authorized我的示例中的表格仅在$user_authorized==1为真时才会显示给浏览器。