从 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"-->
<% } %>
我做错了什么,这不起作用?
在一个脚本中使用两种不同的语言是不可能的。您可以在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;
}