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

T

travelsitemaker

#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>'; }
Код (разметка): Можете ли вы помочь мне найти, как/где исправить ошибку?

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

partprobe

#2
У вас возникли проблемы из-за встроенного JavaScript. Который вам не следует использовать. Но если вы это сделаете, вам придется решить, как вы хотите избежать одинарных кавычек. Но лучшее решение — просто не использовать встроенный JavaScript.
 
Д

Даниил2002

#3
@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 и т. д. в разметке... больше нет тега
 
M

MC_Str1t

#4
Надеюсь, я решил это
Код:
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:
 
Get involved!

Here you can only see a limited number of comments. On СЕО Форум Вебмастеров you see all comments and all functions are available to you. To the thread