在php中输出html页面的特定部分

时间:2014-06-15 10:37:43

标签: php html

您好我有这个php页面,根据用户输入基本上看起来不同。如果用户已登录,则输出一个表示登录用户的html表。如果用户登录失败,我输出一个表示失败登录用户的html表,即一些红色文本等。问题是,现在我通过输出(php echo函数)html字符串来做到这一点。这真的很糟糕,如果我必须在* ss中改变一些痛苦。

有没有办法让我创建一个只包含一个表然后输出的html文件?

或许我可以创建一个完整的html页面,但只输出它的表格部分?

提前致谢

3 个答案:

答案 0 :(得分:2)

同时,你可以简单地创建文件,然后在页面中include

更强大的系统通常需要更好的设计。

答案 1 :(得分:0)

您好像在询问是否可以使用if语句INCLUDE文件。类似的东西:

if ($user == "loggedin") include ("loggedin.php");

答案是否定的。我试过了。

如果你想让HTML标记更干净(我的意思是一次不回应1行)你可以做的是使用heredocs:

$loggedin = <<<someText
<table><tbody><tr><td>Hello $username</td></tr></tbody></table>
someText;

if ($user == "loggedin") echo $loggedin;

您甚至不必将其保存为变量,只需回复它:

echo <<<someMore
<table><tbody>
<tr>
<td>You last logged in $logdate</td>
</tr>
</tbody> 
</table>
someMore;

Heredocs将完全按照您的方式出现在页面上,除非您可以在其中使用PHP变量。您甚至可以在heredoc中使用数组变量,如下所示:

echo <<<somearrays
{$arrayname1[$i]}<br>
{$arrayname2[5]}<br>
{$arrayname3[7]}<br>
somearrays;

澄清:您要么说echo,要么$variable = 然后把&lt;&lt;&lt; (这是heredoc的关键字) 放一个heredoc名称(在这个例子中是somearrays) 把你的HTML文字 用heredoc名称和分号结束它

答案 2 :(得分:-1)

您可以创建不同的html文件,并使用以下内容输出所需的文件:

echo file_get_contents( 'Path/to/your/specific file/' ); 

指向file_get_contents API http://php.net/file_get_contents

的链接

编辑:

从下面的评论中可以看出,我相信include是一个更好的解决方案