Проблема, которую вы описываете, на самом деле не имеет ничего общего с вашими переменными PHP, все они выводятся, как и ожидалось. Проблема в том, что вам нужно убежать из "
внутри <a>
, и вы потеряли )
.
Ваш оригинал выдаст:
<a onClick="articleDeleteConfirm("value1","value2">
Это недопустимый HTML (даже маркер не любит его). Теперь обратите внимание на \
в следующем (и что пара была перемещена в строку).
echo '<a onClick="articleDeleteConfirm(\''
.$row["title_".$lang."].'\',\''.$_GET["editPage"].'\')">';
Вывод сбежавшей версии:
<a onClick="articleDeleteConfirm('value1','value2')">
Он использует одинарные кавычки внутри двойных кавычек, чтобы обеспечить легкий для чтения (и действительный) HTML. Теперь у вас есть еще одна проблема с вашим кодом.
Каждый раз, когда вы выводите переменную $_REQUEST
в браузер, вы рискуете чем-то, что называется межсайтовый скриптинг . Кто-то может вставить JavaScript в $_GET["editPage"]
, и он будет плохо пахнуть. Самый простой способ избежать этого? Используйте htmlentities($_GET["editPage"])