使用 JS 包含来自另一台服务器的 PHP
Including a PHP from another server using JS
我正在尝试构建一个非常简单的广告系统,该系统包含在我的所有网站中,并使用脚本上方的变量调用以确定显示哪种广告。
对于这个系统,我一直在使用基本的include
功能。例如,在客户网站上,在页脚附近,我会有:
$ad_type = 'banner';
include = '../../adsystem/adsystem.php';
这个 adsystem.php
的代码是:
///// BANNER AD //////
if($ad_type == 'banner'){
$today = date("Y-m-d");
$sql = "SELECT * FROM `ad_adverts` WHERE `ad_start_date` <= '$today' AND `ad_end_date` >= '$today' AND `ad_type` = 'banner' ORDER BY RAND() LIMIT 1";
$result = $ad_conn->query($sql);
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
$ad_id = $row["ad_id"];
$ad_link = $row["ad_link"];
$ad_direc = $row["ad_direc"];
?>
<div align="center">
<a target="_blank" href="http://mysite.co.uk/adsystem/adsystem.php?redirect=<? echo $ad_link; ?>&adid=<? echo $ad_id; ?>"><img src="<? echo $ad_direc; ?>" alt="<? echo $ad_link; ?>" style="width:70%; height:70px;"></a>
</div>
<?
}
}
$ad_type = '';
}
/////////////////////
目前非常基础 - 尚未完成。简单地使用它作为测试让它工作,然后我将处理修复安全问题和 SQL 注入等...
这将在网站底部或我决定添加它的任何地方显示 adsystem.php 代码。这非常适用于本地网站 - 尽管我正在处理不在同一服务器上的网站,正如您可以想象的那样,这就是我 运行 由于安全问题而遇到问题的地方。
Google Adsense 和其他广告代理通过使用 JS 代码调用广告来解决这个问题,尽管我对 JS 的熟练程度不足以做到这一点。不过,在那个方向上,我想知道是否可以使用 JS 来调用 PHP 脚本,或者这是否可行?
如果有人能指出我在正确的地方,那就太好了?
您可以使用 AJAX 异步调用该脚本。在您的 php
return 中 JSON 有可用的广告。
您还应该考虑使用模板引擎 and/or PHP 框架。将视图与业务逻辑混合并不是一个好主意。
没有JS你做不到。请检查 document.write 方法。这里有一个示例,说明如何将带有广告的 JS 文件动态添加到 html 文档中:
<script>
var url = 'http://ads.com/buyme?rand='+Math.random()
document.write('<script src="'+url+'"></scr'+'ipt>')
</script>
在此url下,您应该在PHP中动态生成一段JavaScript代码,其中应包含广告内容并写入html文档中使用document.write 再次方法。
我正在尝试构建一个非常简单的广告系统,该系统包含在我的所有网站中,并使用脚本上方的变量调用以确定显示哪种广告。
对于这个系统,我一直在使用基本的include
功能。例如,在客户网站上,在页脚附近,我会有:
$ad_type = 'banner';
include = '../../adsystem/adsystem.php';
这个 adsystem.php
的代码是:
///// BANNER AD //////
if($ad_type == 'banner'){
$today = date("Y-m-d");
$sql = "SELECT * FROM `ad_adverts` WHERE `ad_start_date` <= '$today' AND `ad_end_date` >= '$today' AND `ad_type` = 'banner' ORDER BY RAND() LIMIT 1";
$result = $ad_conn->query($sql);
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
$ad_id = $row["ad_id"];
$ad_link = $row["ad_link"];
$ad_direc = $row["ad_direc"];
?>
<div align="center">
<a target="_blank" href="http://mysite.co.uk/adsystem/adsystem.php?redirect=<? echo $ad_link; ?>&adid=<? echo $ad_id; ?>"><img src="<? echo $ad_direc; ?>" alt="<? echo $ad_link; ?>" style="width:70%; height:70px;"></a>
</div>
<?
}
}
$ad_type = '';
}
/////////////////////
目前非常基础 - 尚未完成。简单地使用它作为测试让它工作,然后我将处理修复安全问题和 SQL 注入等...
这将在网站底部或我决定添加它的任何地方显示 adsystem.php 代码。这非常适用于本地网站 - 尽管我正在处理不在同一服务器上的网站,正如您可以想象的那样,这就是我 运行 由于安全问题而遇到问题的地方。
Google Adsense 和其他广告代理通过使用 JS 代码调用广告来解决这个问题,尽管我对 JS 的熟练程度不足以做到这一点。不过,在那个方向上,我想知道是否可以使用 JS 来调用 PHP 脚本,或者这是否可行?
如果有人能指出我在正确的地方,那就太好了?
您可以使用 AJAX 异步调用该脚本。在您的 php
return 中 JSON 有可用的广告。
您还应该考虑使用模板引擎 and/or PHP 框架。将视图与业务逻辑混合并不是一个好主意。
没有JS你做不到。请检查 document.write 方法。这里有一个示例,说明如何将带有广告的 JS 文件动态添加到 html 文档中:
<script>
var url = 'http://ads.com/buyme?rand='+Math.random()
document.write('<script src="'+url+'"></scr'+'ipt>')
</script>
在此url下,您应该在PHP中动态生成一段JavaScript代码,其中应包含广告内容并写入html文档中使用document.write 再次方法。