如何在 Classic ASP 中重写以下 PHP 代码?
<head></head>
<body>
<h1>Test</h1>
<section><?php echo include('content/'.$_GET['p'].'.php') ?></section></body>
如果 url 是http://foo.bar.com/admin.php?p=pages,则显示content/pages.php。
如何在 Classic ASP 中重写以下 PHP 代码?
<head></head>
<body>
<h1>Test</h1>
<section><?php echo include('content/'.$_GET['p'].'.php') ?></section></body>
如果 url 是http://foo.bar.com/admin.php?p=pages,则显示content/pages.php。
您不能使用 INCLUDE 执行此操作,但您可以使用 Server.Transfer 代替,例如。
Server.Transfer "content/" & Request.Form("p") & ".asp"
你可以使用这样的东西
<!--#include file="somefile.asp"-->
在您的 HTML 文件中。
永远不要相信来自客户端(浏览器)的东西,因为他们可能会试图破解你。
由于“shdyhio3hlkehio.asp”或类似文件不太可能是正确的文件,因此您应该将选项限制为您的实际选择,并且还有一个默认文件,即“捕获所有其他请求”。
将它与 Server Side Includes 结合起来,您就可以准备好设置了。
您还应该检查用户是否确实请求了页面——如果“p”为空,则显示默认消息。
注意LCase
“ Select Case
”行中的使用和-行中的小写值Case
。这是因为字符串比较是区分大小写的,意思是“about”(小写“a”)和“About”(大写“A”)是不一样的。
示例:
<% If Request.QueryString("p") = "" Then %>
no specific page was request, show a default message
<% Else %>
<% Select Case LCase(Request.QueryString("p")) %>
<% Case "content" %><!-- #include file="content.asp" -->
<% Case "about" %><!-- #include file="about.asp" -->
<% Case "contact" %><!-- #include file="contact.asp" -->
<% Case Else %><!-- #include file="404.asp" -->
<% End Select %>
<% End If %>