Использование переменной PHP внутри HTML, в файле PHP

0

Я пытался заставить это работать какое-то время и еще не найти решение в Интернете, которое работает. Я все еще довольно новичок в PHP, поэтому простите меня, если вопрос немой.

Я использую PHP-документ для чтения данных из текстового файла. Этот PHP-документ вызывается как сценарий для HTML-документа, который фактически отображает всю информацию на веб-странице.

Поэтому, насколько я понимаю, мне нужно использовать echo "document.write(" ")"; для вывода материала, который отлично работает.

Однако, когда я пытаюсь использовать переменные, он, похоже, не работает. Например, я пытаюсь сделать:

<?php 
$test = "Hello";
echo "document.write("$test")" ?>

Я что-то упускаю?

  • 0
    вы смешиваете JavaScript и PHP
Теги:

8 ответов

3
Лучший ответ

Конкретная причина, по которой ваш код не работает, - это использование кавычек. Вы не можете заключать двойные кавычки в двойные кавычки, если вы не избежите их сначала - вот так:

echo "document.write(\"$test\")" ?>

Однако здесь есть более глубокая проблема. Вам совсем не нужен Javascript. Вы можете просто сделать:

echo $test;

Наконец, document.write() имеет всевозможные нежелательные побочные эффекты. Если это действительно нужно, тогда вы, вероятно, захотите напрямую манипулировать DOM в Javascript, но это другой вопрос.

  • 0
    Я попытался использовать echo $ test; на первом месте. Тем не менее, по какой-то причине он оказался пустым на странице HTML. У кого-нибудь есть идеи почему?
  • 0
    PHP не становится проще, чем echo $test; , Если это не сработало для вас, то есть другая проблема, но здесь недостаточно для ее устранения.
Показать ещё 3 комментария
0

Если вы хотите, чтобы document.write добавлял значение переменной $test в JavaScript, вы почти на правильном пути, но вам нужно избегать ваших кавычек:

echo "document.write(\"$test\")";
0

потому что document.write(); для javascript, для использования переменной просто используйте имя переменной только в echo

0

Мне кажется, вам нужны цитаты вокруг строки в document.write:

<script>
<?php
    $test = "Hello";
    echo "document.write('" .$test ."');";
?>
</script>

Который становится:

<script>
document.write('Hello');
</script>

Это, в свою очередь, отображает это на странице:

Hello
0

document.write работает только в JavaScript, просто используйте echo

0

Я не делаю то, что вы пытаетесь сделать, если вы хотите просто вывести текст в эхо php usse

Вы написали это неверно

<?php 
    $test = "Hello";
    echo "document.write("$test")";
?>

Правильный способ

<?php 
    $test = "Hello";
    echo $test;
?>
0

Если вы хотите выводить в HTML, вы можете просто использовать функцию эха PHP.

<?php 
$test = "Hello";
echo "<script>document.write('" .$test ."')</script>";
?>
0

Просто используйте echo чтобы делать то, что вы хотите:

<?php 
$test = "Hello";
echo $test; 
?>

Значение теста $ будет выводиться в html.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню