2014-01-17 2 views
0

Я пытаюсь составить тест, который включает в себя кнопку рядом с каждым вопросом, позволяющую читать вслух. Вопрос и имя файла MP3 находятся в базе данных вопросов.Воспроизведение звука onclick внутри цикла PHP

Я все еще считаю себя неофитом, так что вот оно: я пытаюсь использовать метод DHTML/javascript для воспроизведения аудиофайла, избегая HTML5 (для максимальной доступности на всех устройствах). Я думаю, что происходит, что я не могу использовать переменную PHP внутри js-функции. Да, это хостинг-сервер. Нет, я не думаю, что у меня есть контроль над настройками 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>'; 
    } 

Ошибка я получаю: Предупреждение: 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

ДА! Виноват. Я использовал backticks, как будто они были другой версией двойных и одинарных кавычек. Прочитав руководство, я понимаю, почему я не могу использовать их таким образом. Благодаря!! –

Смежные вопросы