簡體   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