使用 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 再次方法。