0

我找到了这个广告轮播脚本,我想将 JavaScript 嵌套在下面,如下所示。我收到错误,我将如何完成此操作。

<?php 
// random number 1 - 100 $result_random = rand(1, 100); 

// if result less than or equal 70, display ad1 (70%) 
if($result_random <= 70){ 
  echo "<script type='text/javascript' src='http://myads.com'></script>"; 
} 
// if result less than or equal 90, display ad2 (20%) 
else if($result_random <= 90){ 
  echo "<script type='text/javascript' src='http://myads.com'></script>";
} 
// if result less than or equal 100, display ad3 (10%)
else { 
 echo "<script type='text/javascript' src='http://myads.com'></script>"; 
} 
4

3 回答 3

1

问题/原因:

因为这条线

// random number 1 - 100 $result_random = rand(1, 100);

被注释掉,

这条线

if($result_random <= 70){ 

这条线

else if($result_random <= 90){ 

会导致错误Undefined Variable $result_random in line X

你的代码@ Codepad.org/saPRtKPU

(更新:好的,您没有收到任何错误,但由于$result_random未定义,因此每次只执行最后一个else ads3)案例。任何未定义的变量都包含值http://codepad.org/vVHMrWklNULL

解决方案:

更改此行

// random number 1 - 100 $result_random = rand(1, 100);

// random number 1 - 100
$result_random = rand(1, 100);

即在之前插入换行符/回车符(Enter在 Windows 中)$result_random....

它应该可以解决问题,但如果现在,请发布您收到的确切错误消息。

顺便说一句,您的所有三个脚本 SRC 都是相同的,即http://myads.com/. 我想这只是一个例子,但即便如此,在测试时,我们也不知道我们是否得到了真正的随机结果。因此,我已将ad1,附加到相应的 URL 中。ad2ad3

完整代码:

<?php 
// random number 1 - 100
$result_random = rand(1, 100); 

// if result less than or equal 70, display ad1 (70%) 
if($result_random <= 70){ 
  echo "<script type='text/javascript' src='http://myads.com/ad1'></script>"; 
} // if result less than or equal 90, display ad2 (20%) 
    else if($result_random <= 90){ 
      echo "<script type='text/javascript' src='http://myads.com/ad2'></script>";
    }// if result less than or equal 100, display ad3 (10%)
        else { 
             echo "<script type='text/javascript' src='http://myads.com/ad3'></script>"; 
        } 

//Just for testing
echo "\r\nRandom Number is: ".$result_random;

现场演示@Codepad.org http://codepad.org/oymuBk8w

于 2012-09-08T03:28:41.207 回答
1

您可以使用 PHP 将脚本源输出到用户的浏览器,但您不能只在 PHP 应用程序中包含和运行 Javascript。

您的输出:

<script type='text/javascript' src='http://myads.com'></script>

是正确的行为。然后客户端会尝试包含该脚本源。

如果您要进行条件包含,您需要在页面的 head 标记之间回显这些内容:

<html>
  <head>
    <?php
      // process, echo out a <script />
    ?>
  </head>
  <body>...</body>
</html>
于 2012-09-08T03:05:29.087 回答
-1

您需要将此代码放在文件的部分中。只有这样它才会起作用

它不会在 PHP 中运行。

仅当您将它们包含在 html 中或使用动态代码(php)n html 时,Js 文件才会起作用

于 2012-09-08T03:09:42.743 回答