在PHP循环中播放声音onclick

时间:2014-01-17 01:33:17

标签: javascript php audio onclick

我正在尝试编写一个测试,其中包含每个问题旁边的按钮,允许大声朗读。 MP3的问题和文件名都在问题数据库中。

我仍然认为自己是新手,所以在这里:我尝试使用DHTML / javascript方法播放音频文件,避免使用HTML5(以获得跨设备的最大可用性)。我认为发生的事情是我不能在js函数中使用PHP变量。是的,它是一个共享托管服务器。不,我认为我无法控制PHP设置。

这是代码。

<script language="javascript" type="text/javascript">
    function DHTMLSound(surl) {
        document.getElementById("dummyspan").innerHTML=
            "<embed src='"+surl+"' hidden=true autostart=true loop=false>";
    }
</script>

和...

  while ($row = $results->fetch()) {
      $audiofile = '/audio/starrisk'.$row['QuestionNum'].'mp3';
      echo '<br>' .$row["QuestionNum"] . ') ' . $row["Question"] . '<br>'?>
      <span id=dummyspan></span>
      <?PHP echo `<input type="button" value="Listen" onClick="DHTMLSound('$audiofile')"> `;
      echo '<input type="radio" name="a'.$row["QuestionNum"].'" value="1" /> Yes ----
      <input type="radio" name="a'.$row["QuestionNum"].'" value="-1" /> No<br><br>';
  } 

我得到的错误是: 警告:出于安全原因,第60行的testblah.php已禁用shell_exec()

如果该行只是:

<input type="button" value="Listen" onClick="DHTMLSound('/audio/starrisk1.mp3')">

谢谢!

1 个答案:

答案 0 :(得分:1)

问题在于反击。用标准双引号(")替换您的后标记引号。

请参阅:

http://www.php.net/manual/en/language.operators.execution.php