从PHP页面

时间:2016-07-07 12:39:01

标签: c# php asp.net

我有一个PHP文件,TableUpdates.php,我正在尝试添加一个菜单。我有两个不同的菜单,基于谁登录。我有一个MenuCheck.aspx文件,确定谁登录,然后include正确的Menu.php文件。但是,我无法让这个工作。这是TableUpdates.php的相关部分:

<head>
    <meta charset="utf-8" />
    <title>Table Updates</title>
    <link rel="StyleSheet" href="StyleSheet.css" type="text/css">
</head>
<body>
    <!-- #include file="MenuCheck.aspx"-->

我还尝试使用以下内容切换<!-- #include file="MenuCheck.aspx"-->

<script type="text/javascript">
<% if (User.Identity.Name == @"CORP\mmm976") {%>
<!-- #include file="AdminMenu.php"-->
<% } else if (User.Identity.Name == @"CORP\ibb601"){%>
<!-- #include file="AdminMenu.php"-->
<% } else { %>
<!-- #include file="Menu.php"-->
<% } %>
</script>

两者都不起作用。 MenuCheck.aspx是这样的:

<%@ Page Language="C#" %>

<% if (User.Identity.Name == @"CORP\mmm976") {%>
<!-- #include file="AdminMenu.php"-->
<% } else if (User.Identity.Name == @"CORP\ibb601"){%>
<!-- #include file="AdminMenu.php"-->
<% } else { %>
<!-- #include file="Menu.php"-->
<% } %>

我做错了,这不起作用?

3 个答案:

答案 0 :(得分:0)

在一个脚本中使用两种不同的语言是不可能的。您可以在ASP主机上创建ASP脚本,并使API从PHP脚本验证您的用户。或者只是从php:

file_get_contents('https://yourserver.com/asp-auth.php?login=xxx&pass=xxx');

ASP脚本必须返回您可以使用的正确数据。

您不能将PHP代码包含在ASP脚本中,也不能将PHP代码包含在PHP脚本中。

但是你的脚本都可以在一个主机上运行,​​只需创建web服务器规则来纠正处理.php和.asp。

答案 1 :(得分:0)

我最终创建了一个PHP工作。因为我试图获得经过身份验证的用户并将菜单基于我的服务器管理员关闭匿名身份验证,以便php $_SERVER['AUTH_USER']拥有本地用户而不是空白。然后我将它添加到菜单的HTML正文中的php文件中:

    <?php  
        if ($_SERVER['AUTH_USER'] == 'CORP\mmm976'){
            include('AdminMenu.php');
        }elseif ($_SERVER['AUTH_USER'] == 'CORP\ibb601'){
            include('AdminMenu.php');
        }else {
            include('Menu.php');
        }
    ?>

我仍然在aspx文件的正文中有<!-- #include file="MenuCheck.aspx"-->

所以,虽然这实际上没有调用aspx文件并在我的php文件中得到结果,但我仍然得到了我想要的结果=&gt;管理员可以访问管理员报告,其他人只能访问他们需要的报告。

答案 2 :(得分:0)

如果ASPX页面在后面的代码上有类似[WebMethod]的方法,这是可能的

[WebMethod]
public string getHello(string name)
{
    return "Hello " + name;
}