I had to move the invokereport.php that I always use for passing the key values from MapGuide to a pre-existing report (such as one written in PHP, CFM,ASPX, ASP, CGI, etc)
The report expects a few things from MapGuide, and you will have to set them up in MapGuide Studio:
<%@ Page Language="VB" debug=true %>
<%@ Import Namespace="System" %>
<%@ Import Namespace="OSGeo.MapGuide" %>
<%
' get the SESSION id
Dim configFilePath As String = "C:/Program Files/Autodesk/MapGuideEnterprise2011/WebServerExtensions/www/webconfig.ini"
Dim errorMsg As String
Dim mgSessionId As String = Request("SESSION")
Dim mapName As String = Server.UrlDecode(Request("MAPNAME"))
Dim layerName As String = Request("LAYER")
Dim reportUrl As String = Request("URL")
Dim methodType As String = Request("METHOD")
Dim keyName As String = Request("KEY")
Dim objkeys As String = "'0'"
Try
MapGuideApi.MgInitializeWebTier(configFilePath)
Dim userInfo As MgUserInformation = New MgUserInformation(mgSessionId)
Dim siteConnection As MgSiteConnection = New MgSiteConnection()
siteConnection.Open(userInfo)
Dim resourceService As MgResourceService = siteConnection.CreateService(MgServiceType.ResourceService)
Dim featureService As MgFeatureService = siteConnection.CreateService(MgServiceType.FeatureService)
Dim queryOptions As MgFeatureQueryOptions = New MgFeatureQueryOptions()
Dim map As MgMap = New MgMap(siteConnection)
map.Open(mapName)
Dim sel As MgSelection = New MgSelection(map)
sel.Open(resourceService, mapName)
Dim selLayers As MgReadOnlyLayerCollection = sel.GetLayers()
Dim layerCount As Integer = selLayers.GetCount()
Dim i As Integer = 0
Dim layer As MgLayerBase
'Loop through layers
If (layerCount > 0) Then
For i = 0 To layerCount - 1
layer = selLayers.GetItem(i)
Dim featureClassName As String = layer.GetFeatureClassName()
Dim featureReader As MgFeatureReader = sel.GetSelectedFeatures(layer, featureClassName, True)
If (layer.GetName() = layerName) Then
While (featureReader.ReadNext())
If (objkeys.Length <> 0) Then
objkeys = objkeys + ","
End If
objkeys = objkeys + "'" + featureReader.GetString(keyName) + "'"
End While
featureReader.Close()
End If
Next i
End If
Catch mge As MgException
errorMsg = mge.GetExceptionMessage() + "<br><br>" + mge.GetDetails()
Response.Write(errorMsg)
Catch e As Exception
errorMsg = e.Message()
End Try
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body onload="OnPageLoad()">
<form action="<%=reportUrl %>" method="<%=methodType%>" name="invokeReport" target="_self">
<input name="OBJ_KEYS" type="hidden" value="<%=objkeys%>"/>
</form>
<script language="JavaScript" type="text/javascript">
function OnPageLoad()
{
document.invokeReport.submit();
}
</script>
</body>
</html>





FOSS4G 2010 Introduction to MapGuide OpenSource Dataset