繁体   English   中英

包括使用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脚本,或者那是否可行?

如果有人可以将我指向正确的位置,那会很棒吗?

没有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代码,其中应包含广告内容并再次使用document.write方法写入html文档。

您可以使用AJAX异步调用该脚本。 在您的php返回带有可用广告的JSON。

您还应该考虑使用模板引擎和/或PHP框架。 将视图与业务逻辑混合不是一个好主意。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM