从 PHP 页面调用 aspx 文件

本文关键字:aspx 文件 调用 PHP | 更新日期: 2023-09-27 17:55:33

我有一个PHP文件TableUpdates.php,我正在尝试添加一个菜单。我有 2 个不同的菜单,具体取决于登录者。我有一个 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>

两者都不起作用。菜单检查.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"-->
<% } %>

我做错了什么,这不起作用?

从 PHP 页面调用 aspx 文件

在一个脚本中使用两种不同的语言是不可能的。您可以在ASP主机上制作ASP脚本,并制作API以从PHP脚本对用户进行身份验证。或者只是从 php 开始:

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

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

不能将 PHP 代码包含在 ASP 脚本中

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

但是您的两个脚本都可以在一个主机上工作,只需创建 Web 服务器规则即可正确处理.php和.asp。

我最终创建了一个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 文件中获取结果,但我最终仍然得到我想要的结果 => 管理员有权访问管理员报告,其他人只能访问他们需要的报告。

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

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