PHP文件无法通过AJAX加载 [英] PHP File not loading via AJAX
问题描述
我目前正在开发一个提供各种下载文件的新网站。文件信息存储在MySQL数据库中,页面根据用户访问页面的方式在PHP中生成:
[php]
< ;?php
session_start();
$ _SESSION [''pageStyle''] = $ _SESSION [''pageStyle'']; //设置为任意,因为您只能从顶级部分访问此页面
?>
<! -
文件:download.php
作者:Nathan Davies
创建日期:09/08/2007
目的:从CLF网站下载 - 针对每种主题类型
- >
<!DOCTYPE html PUBLIC" - // W3C // DTD XHTML 1.1 // EN" http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<?php
include(" include / pageHeader.php");
if($ loUser-> hasAccess(1)|| $ loUser-> hasAccess(2)|| $ loUser-> hasAccess(3))
{
//确定此页面的调用位置
if(isset($ _ GET [''topicID''])&& isset( $ _GET [''topicType'']))//使用isset为0对此页面有效
{
$ lnTopicID = $ _GET [''topicID'' ];
$ lnTopicType = $ _GET [''topicType''];
开关($ lnTopicType)
{
案例0://在一般资源下出现的临时条目
$ lnSubSection = 4;
$ lcDownloadSelect =
" SELECT
a.ID,a.name,a.url,a.typeID,
b.description
FROM下载a
LEFT OUTER JOIN downloadtype b on b.ID = a.typeID
WHERE a.topicType = $ lnTopicType
ORDER BY a.typeID ASC" ; //这个套装只有全套
休息;
案例1://事件下载
$ lnSubSection = 2;
$ lcDownloadSelect =
" SELECT
a.ID,a.name,a.url,a.typeID,a.topicID,
b.title,
c.description
下载a
LEFT OUTER JOIN事件b b。 ID = a.topicID
LEFT OUTER JOIN downloadtype c on c.ID = a.typeID
WHERE a.topicType = $ lnTopicType" ;
//如果只有一个特定事件然后将该条件添加到SQL语句中
if($ lnTopicID> 0)
{
$ lcDownloadSelect。=" AND a.topicID = $ lnTopicID" ;
}
$ lcDownloadSelect。="按照a.topicID ASC命令 ;
休息;
案例2://模块下载
$ lnSubSection = 3;
$ lcDownloadSelect =
" SELECT
a.ID,a.name,a.url,a.typeID,a.topicID,
b.title,
c.description
从b下载a
LEFT OUTER JOIN模块b。 ID = a.topicID
LEFT OUTER JOIN downloadtype c on c.ID = a.typeID
WHERE a.topicType = $ lnTopicType" ;
//如果只有一个特定模块然后将该条件添加到SQL语句中
if($ lnTopicID> 0)
{
$ lcDownloadSelect。=" AND a.topicID = $ lnTopicID" ;
}
$ lcDownloadSelect。="按照a.topicID ASC命令 ;
休息;
}
包括(" include / subSectionTitleAndNavigation.php");
>
//执行查询
$ laDownload = $ loDB-> queryGetData($ lcDownloadSelect);
if( $ laDownload)
{
//有信息显示
开关($ lnTopicType)
{
案例0://一般
echo''< h1 class =" pageTitle">一般下载< / h1>< br />'';
echo $ lcGeneralText;
echo''< p>'';
echo''此处可用的项目按文件类型列出 - 例如PDF,MP3等'';
echo''< / p>'';
休息;
案例1://事件
echo''< h1 class =" pageTitle">事件下载< / h1>< br />'';
echo $ lcGeneralText;
echo''< p>'';
echo ''此处可用的项目按事件标题''列出;
echo''< / p>'';
休息;
案例2://模块
echo''< h1 class =" pageTitle">培训下载< / h1>< br />'';
echo $ lcGeneralText;
echo''< p>'';
echo''此处可用的项目按模块标题列出。'';
echo''< / p>'';
休息;
}
$ lnCurrentCategoryID = -1;
foreach($ laDownload as $ laDownloadItem)
{
开关($ lnTopicType)
{
case 0:// general
$ lnNextCategoryID = $ laDownloadItem [''typeID''];
if($ lnNextCategoryID!= $ lnCurrentCategoryID)< br $>
{
//类别已更改,显示新的子标题$ laDownloadItem [''description'']
echo''< ; h4 class =" eventListItem">下载类别:''。 substr_replace($ laDownloadItem [''description''],strtoupper(substr($ laDownloadItem [''description''],0,1)),0,1)。 ''< / h4>'';
//更改元数据
$ lnCurrentCategoryID = $ lnNextCategoryID;
}
休息;
案例1://事件
$ lnNextCategoryID = $ laDownloadItem [''topicID''];
if($ lnNextCategoryID!= $ lnCurrentCategoryID)
{
//类别已更改,显示新的子标题
echo''< h4 class =" eventListItem">事件:''。 substr_replace($ laDownloadItem [''title''],strtoupper(substr($ laDownloadItem [''title''],0,1)),0,1)。 ''< / h4>'';
//更改元数据
$ lnCurrentCategoryID = $ lnNextCategoryID;
}
休息;
案例2://模块
$ lnNextCategoryID = $ laDownloadItem [''topicID''];
if($ lnNextCategoryID!= $ lnCurrentCategoryID)
{
//类别已更改,显示新的子标题
echo''< h4 class =" eventListItem"> Module:''。 substr_replace($ laDownloadItem [''title''],strtoupper(substr($ laDownloadItem [''title''],0,1)),0,1)。 ''< / h4>'';
//更改元数据
$ lnCurrentCategoryID = $ lnNextCategoryID;
}
休息;
}
//写出每种类型相同的东西 - 链接 - 网址,名称和onclick代码使用ID更新领导者和下载之间的关联
//注意更新仅适用于领导者 - 因此需要另一个hasAccess检查。
echo'' < p class =" linkList">'';
if($ loUser-> hasAccess(1))
{
echo''< a id ="''。 $ laDownloadItem [''ID'']。 " "类= QUOT; inlineLink" href ="''。 $ laDownloadItem [''url'']。 " title ="''。 $ laDownloadItem [''name'']。 " onclick =" dataUpdate(1,''。$ laDownloadItem [''ID'']。'')">''。 $ laDownloadItem [''name'']。 ''< / a>< br />'';
}
其他
{
echo''< a class =" inlineLink" href ="''。 $ laDownloadItem [''url'']。 " title ="''。 $ laDownloadItem [''name'']。 ''">''。 $ laDownloadItem [''name'']。 ''< / a>< br />'';
}
echo''< / p>'';
}
echo''< br />''; //只是给它一些呼吸的空间
}
其他
{
echo''< p>'';
echo''目前没有可用的下载。 '';
echo''定期加载新信息所以请尽快查看。';
echo''< / p>'';
echo''< p>'';
echo''同时请随意浏览网站的其他部分。'';
echo''< / p>'';
}
}
else
{
echo''< p>'';
echo''不幸的是这页被错误地访问了。'';
echo'' < / p>'';
echo''< p>'';
echo''这个页面有3种有效方式 - 通过资源,领导者论坛和培训。 '';
echo''您必须在网站上注册并且当前已登录。'';
echo''< / p>'';
}
}
其他
{
echo ''< p>'';
echo''访问该网站的这个区域仅限会员使用。如果您已经是会员,请登录。'';
echo''< / p>'';
echo''< p>'';
echo''如果你想加入基督教领袖基金会,请花一点时间来完成< a class =" inlineLink" HREF =" application.php步骤等于1英寸; title ="申请表格>表格< / a>。'';
echo''< / p>'';
}
包括(include / pageFooter.php);
?>
[/ php]
>
下载文件的想法是记录更新或添加到数据库。这样做的目的是,以后我可以根据他们以前感兴趣的下载类别在成员区域内提出建议。一个简单的推荐系统。
为了做到这一点,下载文件的链接有一个调用JavaSacript函数的onClick
Hi,
I am currently working on a new site that offers various files for download. The file information is stored in a MySQL database and the page is produced in PHP depending on how the user got to the page:
[php]
<?php
session_start();
$_SESSION[''pageStyle''] = $_SESSION[''pageStyle'']; // set to whatever is, as you can only access this page from within a top level section
?>
<!--
File: download.php
Author: Nathan Davies
Created: 09/08/2007
Purpose: The downloads from the CLF site - for each topic type
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<?php
include("include/pageHeader.php");
if($loUser->hasAccess(1) ||$loUser->hasAccess(2) || $loUser->hasAccess(3))
{
// establish where this page was called from
if(isset($_GET[''topicID'']) && isset($_GET[''topicType''])) // use isset as 0 is valid for this page
{
$lnTopicID = $_GET[''topicID''] ;
$lnTopicType = $_GET[''topicType''] ;
switch($lnTopicType)
{
case 0: // ad hoc entries that appear under general resources
$lnSubSection = 4 ;
$lcDownloadSelect =
"SELECT
a.ID, a.name, a.url, a.typeID,
b.description
FROM download a
LEFT OUTER JOIN downloadtype b on b.ID = a.typeID
WHERE a.topicType = $lnTopicType
ORDER BY a.typeID ASC" ; // this set is only ever the full set
break ;
case 1: // event downloads
$lnSubSection = 2 ;
$lcDownloadSelect =
"SELECT
a.ID, a.name, a.url, a.typeID, a.topicID,
b.title,
c.description
FROM download a
LEFT OUTER JOIN event b on b.ID = a.topicID
LEFT OUTER JOIN downloadtype c on c.ID = a.typeID
WHERE a.topicType = $lnTopicType" ;
// if only one specific event then add that condition to the SQL statement
if($lnTopicID > 0)
{
$lcDownloadSelect .= " AND a.topicID = $lnTopicID" ;
}
$lcDownloadSelect .= " ORDER BY a.topicID ASC" ;
break ;
case 2: // module downloads
$lnSubSection = 3 ;
$lcDownloadSelect =
"SELECT
a.ID, a.name, a.url, a.typeID, a.topicID,
b.title,
c.description
FROM download a
LEFT OUTER JOIN module b on b.ID = a.topicID
LEFT OUTER JOIN downloadtype c on c.ID = a.typeID
WHERE a.topicType = $lnTopicType" ;
// if only one specific module then add that condition to the SQL statement
if($lnTopicID > 0)
{
$lcDownloadSelect .= " AND a.topicID = $lnTopicID" ;
}
$lcDownloadSelect .= " ORDER BY a.topicID ASC" ;
break ;
}
include("include/subSectionTitleAndNavigation.php") ;
// execute the query
$laDownload = $loDB->queryGetData($lcDownloadSelect) ;
if($laDownload)
{
// there is information to display
switch($lnTopicType)
{
case 0: // general
echo ''<h1 class="pageTitle">General Downloads</h1><br />'' ;
echo $lcGeneralText ;
echo ''<p>'' ;
echo ''The items available here are listed by file type - e.g. PDF, MP3 etc'' ;
echo ''</p>'' ;
break ;
case 1: // event
echo ''<h1 class="pageTitle">Event Downloads</h1><br />'' ;
echo $lcGeneralText ;
echo ''<p>'' ;
echo ''The items available here are listed by event title'' ;
echo ''</p>'' ;
break ;
case 2: // module
echo ''<h1 class="pageTitle">Training Downloads</h1><br />'' ;
echo $lcGeneralText ;
echo ''<p>'' ;
echo ''The items available here are listed by module title.'';
echo ''</p>'' ;
break ;
}
$lnCurrentCategoryID = -1 ;
foreach($laDownload as $laDownloadItem)
{
switch($lnTopicType)
{
case 0: // general
$lnNextCategoryID = $laDownloadItem[''typeID''] ;
if($lnNextCategoryID != $lnCurrentCategoryID)
{
// the category has changed, display a new sub-heading $laDownloadItem[''description'']
echo ''<h4 class="eventListItem">Download Category: '' . substr_replace($laDownloadItem[''description''], strtoupper(substr($laDownloadItem[''description''], 0, 1)), 0, 1) . ''</h4>'' ;
// change the meta data
$lnCurrentCategoryID = $lnNextCategoryID ;
}
break ;
case 1: // event
$lnNextCategoryID = $laDownloadItem[''topicID''] ;
if($lnNextCategoryID != $lnCurrentCategoryID)
{
// the category has changed, display a new sub-heading
echo ''<h4 class="eventListItem">Event: '' . substr_replace($laDownloadItem[''title''], strtoupper(substr($laDownloadItem[''title''], 0, 1)), 0, 1) . ''</h4>'' ;
// change the meta data
$lnCurrentCategoryID = $lnNextCategoryID ;
}
break ;
case 2: // module
$lnNextCategoryID = $laDownloadItem[''topicID''] ;
if($lnNextCategoryID != $lnCurrentCategoryID)
{
// the category has changed, display a new sub-heading
echo ''<h4 class="eventListItem">Module: '' . substr_replace($laDownloadItem[''title''], strtoupper(substr($laDownloadItem[''title''], 0, 1)), 0, 1) . ''</h4>'' ;
// change the meta data
$lnCurrentCategoryID = $lnNextCategoryID ;
}
break ;
}
// write the stuff that''s the same for each type - the link - url, name and the onclick code using the ID to update the association between leader and download
// note the update is only for leaders - so another hasAccess check is required.
echo ''<p class="linkList">'' ;
if ($loUser->hasAccess(1))
{
echo ''<a id="'' . $laDownloadItem[''ID''] . ''" "class="inlineLink" href="'' . $laDownloadItem[''url''] . ''" title="'' . $laDownloadItem[''name''] . ''" onclick="dataUpdate(1, '' . $laDownloadItem[''ID''] . '')">'' . $laDownloadItem[''name''] . ''</a><br />'';
}
else
{
echo ''<a class="inlineLink" href="'' . $laDownloadItem[''url''] . ''" title="'' . $laDownloadItem[''name''] . ''">'' . $laDownloadItem[''name''] . ''</a><br />'';
}
echo ''</p>'';
}
echo ''<br />'' ; // just to give it some room to breathe
}
else
{
echo ''<p>'' ;
echo ''There are currently no downloads available. '' ;
echo ''New information is loaded regularly so please check back soon.'' ;
echo ''</p>'' ;
echo ''<p>'' ;
echo ''In the mean time please feel free to browse around the rest of the site.'' ;
echo ''</p>'' ;
}
}
else
{
echo ''<p>'' ;
echo ''Unfortunately this page was accessed incorrectly.'' ;
echo ''</p>'' ;
echo ''<p>'' ;
echo ''There are 3 valid ways into this page - via Resources, Leaders Forum and Training. '';
echo ''It is essential that you are a registered with the site and that you are currently logged in.'' ;
echo ''</p>'' ;
}
}
else
{
echo ''<p>'' ;
echo ''Access to this area of the site is for members only. If you are a member already please log in.'' ;
echo ''</p>'' ;
echo ''<p>'' ;
echo ''If you would like to join the Christian Leadership Foundation please take a moment to complete the <a class="inlineLink" href="application.php?step=1" title="Application Form">form</a>.'' ;
echo ''</p>'' ;
}
include("include/pageFooter.php");
?>
[/php]
On downloading a file the idea is that a record is either updated in or added to the database. The purpose of this is so that at a later date I can make recommendations within the members area based on the category of downloads they have been interested in previously. A simplistic recommendation system.
In order to do this the link to the download file has an onClick that calls a JavaSacript function
推荐答案
_SESSION [''pageStyle''] =
_SESSION[''pageStyle''] =
_SESSION [''pageStyle'' ]。 //设置为任意,因为您只能从顶级部分访问此页面
?>
<! -
文件:download.php
作者:Nathan Davies
创建日期:09/08/2007
目的:从CLF网站下载 - 针对每种主题类型
- >
<!DOCTYPE html PUBLIC" - // W3C // DTD XHTML 1.1 // EN" http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<?php
include(" include / pageHeader.php");
if(
_SESSION[''pageStyle'']; // set to whatever is, as you can only access this page from within a top level section
?>
<!--
File: download.php
Author: Nathan Davies
Created: 09/08/2007
Purpose: The downloads from the CLF site - for each topic type
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<?php
include("include/pageHeader.php");
if(
loUser-> hasAccess(1)||
loUser->hasAccess(1) ||
这篇关于PHP文件无法通过AJAX加载的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!