2014-01-17 196 views
0

我正在嘗試組成一個測試,其中包含每個允許朗讀的問題旁邊的按鈕。 MP3的問題和文件名都在問題數據庫中。我試圖使用DHTML/javascript方法播放音頻文件,避免使用HTML5(爲了最大限度地提高跨設備的可用性)。我認爲發生的事情是我不能在js函數中使用PHP變量。是的,這是一個共享託管服務器。不,我不認爲我可以控制PHP設置。在PHP循環中播放聲音onclick

這是代碼。

<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>'; 
    } 

我得到的錯誤是: 警告:了shell_exec()已因安全原因被禁止在testblah.php上線60

它的工作原理如下:

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

謝謝!

+0

什麼是testblah.php - 60行? – Scopey

+0

Testblah.php是這個文件,第60行用「onclick = DHTML」代碼表示該行。 –

+0

我剛剛意識到發生了什麼事。回答如下。 – Scopey

回答

1

問題是反引號。用標準雙引號(")替換你的背單詞引號。

請參見:

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

+0

是的!我的錯。我正在使用反引號,就像他們是雙引號和單引號的另一個版本。在閱讀手冊後,我明白了爲什麼我不能以這種方式使用它們。謝謝!! –