2017-02-04 15 views
0

Я работаю над скриптом php для событий караоке. Сценарий отображает песни, доступные в базе данных, после отправки поискового запроса. Пользователь может затем нажать на название песни, чтобы добавить песню в очередь. «Очередь» - это таблица базы данных, которая будет отображаться на другой странице.Апостроф или запятая в поле предупреждения (поле подтверждения) не работает

Но перед тем, как функция объявит песню в очередь, я хочу отобразить окно подтверждения, которое должно повторять название песни и исполнителя.

Here's мой код

echo "<a href=\"index.php?action=queue&id=$showid\" 
onclick=\"return confirm('Do you really want to sing $showtitle by 
$showartist?')\">$showtitle</a>"; 

Он работает в целом, но сейчас проблема в том, что есть немало песен в базе данных, которые имеют «запятая» или «апостроф» в названии песни ,

В этом случае окно подтверждения просто не отображается, и песня немедленно добавляется в очередь. Поскольку текст песни, который отображается в поле, всегда отличается, в зависимости от того, какая песня пользователь нажимает, мне нужно каким-то образом заменить или убрать эти специальные символы.

Возможно ли это?

+0

PHP, который выводит HTML, который выводит Javascript рецепт для боли. – bishop

ответ

1

нужно бежать кавычки

попробовать

$showtitle = addslashes($showtitle); 

Лучшее предложение не использовать встроенный Javascript

+0

Спасибо за ваш намек, я пробовал это, но без каких-либо изменений в поведении. Я попытаюсь изменить свой код и решить это по-другому (только началось с php, mysql и т. Д.) .... еще раз спасибо ... – John982