Помогите с синтаксической ошибкой

travelsitemaker

Пользователь
Регистрация
12.08.13
Сообщения
4
Реакции
0
Баллы
1
Я получаю эту ошибку:

Ошибка синтаксического анализа: синтаксическая ошибка, неожиданное '[', ожидание ',' или ';' в /home/public_html/uploader.php в строке 6
Помогите с синтаксической ошибкой
Код:
if(isset($_SESSION['channel_id'])) { echo '<input type="hidden" name="channel" value="1" />'; } else { echo '<select class="upload-video-form-input" name="channel" onchange="javascript:ahahscript.ahah('[var.base_url]/uploader.php?sub_cat='+ document.form_upload.channel.value, 'sub_change', '', 'GET', '', this);"> &nbsp;[var.fields_all;htmlconv=no]</select>'; }
Код (разметка): Можете ли вы помочь мне найти, как/где исправить ошибку?

Любая помощь будет оценена по достоинству.
 

partprobe

Пользователь
Регистрация
02.10.13
Сообщения
1
Реакции
0
Баллы
1
У вас возникли проблемы из-за встроенного JavaScript. Который вам не следует использовать. Но если вы это сделаете, вам придется решить, как вы хотите избежать одинарных кавычек. Но лучшее решение — просто не использовать встроенный JavaScript.
 

Даниил2002

Пользователь
Регистрация
07.12.14
Сообщения
2
Реакции
0
Баллы
1
@WebDeveloperOne показал вам это правильно: экранируйте одинарные кавычки внутри строк с помощью косой черты в начале - небольшой совет: если у вас есть только два результата и никакой другой код не работает, не тратьте время на if и два эха, чтобы выполнить эту работу. одного эха и тернарного оператора. Кроме того, при onchange автоматически создается JavaScript, поэтому фраза «Javascript:» фактически нарушает его. Этот «javascript:» используется только в HREF, а не где-либо еще.событие обработчики.

Код:
echo isset($_SESSION['channel_id']) ?
'<input type="hidden" name="channel" value="1">' :
'<select
class="upload-video-form-input"
name="channel"
onchange="ahahscript.ahah(\'[var.base_url]/uploader.php?sub_cat=\'+ document.form_upload.channel.value, \'sub_change\', \'\', \'GET\', \'\', this);"> &nbsp; [var.fields_all;htmlconv=no] </select>';
Код (разметка): Тем не менее...

DINGDINGDINGDINGDNIG у нас есть победитель. Если вы используете какой-либо изсобытие методы в разметке или использование href="javascript:" у вас есть небрежные и, возможно, небезопасные сценарии... поэтому они вообще блокируются, если вы используете новую «политику безопасности контента» из HTML 5. (одна из несколько вещей в HTML 5 мне нравятся)

https://www.w3.org/TR/CSP/

Больше никаких onchange, onclick и т. д. в разметке... больше нет тега
 

MC_Str1t

Пользователь
Регистрация
18.04.14
Сообщения
2
Реакции
0
Баллы
1
Надеюсь, я решил это
Код:
if(isset($_SESSION['channel_id'])) { echo '<input type="hidden" name="channel" value="1" />'; } else { echo '<select class="upload-video-form-input" name="channel" onchange="javascript:ahahscript.ahah(\'[var.base_url]/uploader.php?sub_cat=\'+ document.form_upload.channel.value, \'sub_change\', \'\', \'GET\', \'\', this);">&nbsp;[var.fields_all;htmlconv=no]</select>'; }
PHP:
 
Сверху Снизу