PHP文件无法通过AJAX加载 [英] PHP File not loading via AJAX

查看:83
本文介绍了PHP文件无法通过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

展开 | 选择 | Wrap | 行号

推荐答案

_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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆