Я пытался заставить это работать какое-то время и еще не найти решение в Интернете, которое работает. Я все еще довольно новичок в PHP, поэтому простите меня, если вопрос немой.
Я использую PHP-документ для чтения данных из текстового файла. Этот PHP-документ вызывается как сценарий для HTML-документа, который фактически отображает всю информацию на веб-странице.
Поэтому, насколько я понимаю, мне нужно использовать echo "document.write(" ")"; для вывода материала, который отлично работает.
Однако, когда я пытаюсь использовать переменные, он, похоже, не работает. Например, я пытаюсь сделать:
<?php
$test = "Hello";
echo "document.write("$test")" ?>
Я что-то упускаю?
Конкретная причина, по которой ваш код не работает, - это использование кавычек. Вы не можете заключать двойные кавычки в двойные кавычки, если вы не избежите их сначала - вот так:
echo "document.write(\"$test\")" ?>
Однако здесь есть более глубокая проблема. Вам совсем не нужен Javascript. Вы можете просто сделать:
echo $test;
Наконец, document.write()
имеет всевозможные нежелательные побочные эффекты. Если это действительно нужно, тогда вы, вероятно, захотите напрямую манипулировать DOM в Javascript, но это другой вопрос.
echo $test;
, Если это не сработало для вас, то есть другая проблема, но здесь недостаточно для ее устранения.
Если вы хотите, чтобы document.write
добавлял значение переменной $test
в JavaScript, вы почти на правильном пути, но вам нужно избегать ваших кавычек:
echo "document.write(\"$test\")";
потому что document.write(); для javascript, для использования переменной просто используйте имя переменной только в echo
Мне кажется, вам нужны цитаты вокруг строки в document.write
:
<script>
<?php
$test = "Hello";
echo "document.write('" .$test ."');";
?>
</script>
Который становится:
<script>
document.write('Hello');
</script>
Это, в свою очередь, отображает это на странице:
Hello
document.write
работает только в JavaScript, просто используйте echo
Я не делаю то, что вы пытаетесь сделать, если вы хотите просто вывести текст в эхо php usse
Вы написали это неверно
<?php
$test = "Hello";
echo "document.write("$test")";
?>
Правильный способ
<?php
$test = "Hello";
echo $test;
?>
Если вы хотите выводить в HTML, вы можете просто использовать функцию эха PHP.
<?php
$test = "Hello";
echo "<script>document.write('" .$test ."')</script>";
?>
Просто используйте echo
чтобы делать то, что вы хотите:
<?php
$test = "Hello";
echo $test;
?>
Значение теста $ будет выводиться в html.