Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/16.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 - Fatal编程技术网

Php 在同一页面上回显两个不同的页面视图

Php 在同一页面上回显两个不同的页面视图,php,Php,在本例中,我将在同一页面中回显/打印两个不同的页面视图,这取决于用户是否登录 如果用户已登录,他们可以在页面中找到所有菜单。但是,如果用户未登录,则会有一些视图需要隐藏 我将使用的方法是: 第一:检查用户是否登录(使用会话), 然后:根据会话检查的结果显示页面 我将使用以下代码: <?php session_start(); if(isset($_SESSION['login_id']) && !empty($_SESSION['login_id'])){ ?>

在本例中,我将在同一页面中回显/打印两个不同的页面视图,这取决于用户是否登录

如果用户已登录,他们可以在页面中找到所有菜单。但是,如果用户未登录,则会有一些视图需要隐藏

我将使用的方法是:

第一:检查用户是否登录(使用会话), 然后:根据会话检查的结果显示页面

我将使用以下代码:

<?php
session_start();
if(isset($_SESSION['login_id']) && !empty($_SESSION['login_id'])){
   ?> 
      YOUR HTML CODE
   <? 
} else {
   ?> 
      YOUR HTML CODE
   <?}
?>

你的HTML代码
你的HTML代码
我的问题其实很简单,我只是想确定,如果我使用这种方法,会不会让页面加载变慢

如果这会使页面加载变慢,有没有一个好的方法来实现这一点


谢谢

您的页面加载实际上更依赖于html,而不是这个php开关。我在一个页面加载中处理了30个开关这样的页面。虽然不再是最佳实践,但您可能不会注意到。

它不会使页面变慢(如果
-
否则
块中未处理的任何代码都不会对加载时间产生任何影响)

但是,您可能希望
包含一个包含要显示的信息的单独PHP文件,而不是将其直接编码到
if
-
else
块中。比如,

session_start();
if(isset($_SESSION['login_id']) && !empty($_SESSION['login_id'])){
    include 'loggedin.php';
}
else {
    include 'notloggedin.php';
}

希望这能有所帮助。

虽然不再是最佳做法,但你可能不会注意到。这是否意味着我会有更好的方法来实现这一点?小谢斯沃多夫搞定了。这完全取决于你的页面还做了什么。如果页面布局之间存在足够的差异,您可能需要查看模板或类似内容。沿着这条路走很长一段路就是MVC中的视图。因为这个问题,我想你这样做是可以的。非常感谢。在我学习如何在MVC中驱动它的时候,我将使用它一段时间。它真的帮助了我。谢谢