Я пытаюсь вызвать переменную PHP в поле ввода HTML. Пожалуйста, смотрите код ниже.
<html>
<?php
$A_variable = $_GET['some text'];
echo "<script type='text/javascript'>";
echo "document.getElementById('A_input').value = ";$A_variable;
echo "</script>";
?>
<input type = "text" id = "A_input" name = "A_input" placeholder = "input" Readonly>
</html>
Пожалуйста, посоветуйте, как я стараюсь? Ваша помощь очень ценится.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Для этого вам не нужен Javascript,
просто,
<html>
<?php
$A_variable = $_GET['some text'];
?>
<input type = "text" id = "A_input" name = "A_input" value = "<?php echo $A_variable; ?>" placeholder = "input" Readonly>
</html>
[Отредактировано] Глядя на код выше, мы можем сделать его еще проще.
<html>
<input type = "text" id = "A_input" name = "A_input" value = "<?php echo $_GET['some text']; ?>" placeholder = "input" Readonly>
</html>
PS: Этот способ не рекомендуется, поскольку он уязвим для XSS-атак.
Самый простой способ предотвратить атаку XSS - использовать stip_tags ().
<html>
<input type = "text" id = "A_input" name = "A_input" value = "<?php echo strip_tags($_GET['some text']); ?>" placeholder = "input" Readonly>
</html>
1. XSS. 2. Почему именно $A_variable, если вы можете повторить $_GET['some text'] прямо внутри атрибута value ??
1. XSS - Очевидно, да, но это совсем другая тема. 2. Согласен. Просто чтобы владелец вопроса мог видеть, как переменную можно легко вывести в теги html.
Вы здесь совсем новичок. Когда код уязвим (в данном случае XSS), ответ должен решить эту проблему, если просто добавить еще одну функцию PHP вокруг переменной echoes.
Спасибо за комментарии. Да, я здесь новенький. Я обновлю ответ соответственно
@panther Я обновил ответ на основе вашего комментария. Пожалуйста, дайте мне знать, достаточно ли она хороша или ее можно исправить.
strip_tags не защитит этот код от XSS-атак. some+text = "%20onmouseover = "alert('xss')"@anasceym: strip_tags не решает XSS и не изменяет значение (почему '2> 1' (два больше 1) должно быть недопустимым вводом?). Правильный способ - использовать php.net/manual/en/function.htmlspecialchars.php
У вас есть синтаксическая ошибка в JS (отсутствуют кавычки, если
$A_variableне является числом), синтаксическая ошибка в PHP (;вместо.), и вы вызываете скрипт до того, какinputсуществует. Проверить консоль.