'; } else { echo ''; } ?> и из того, что я прочитал в Интернете, это кажется законным способом ведения дел, но страница, кажется, читает первую часть до первого закрывающего.","answerCount":3,"dateCreated":"2012-06-01","acceptedAnswer":{"@type":"Answer","text":"Похоже, файл не обрабатывается как PHP. Имя файла заканчивается на .php? Вы уверены, что PHP установлен и правильно подключен к веб-серверу? изменить: для обработки запросов Facebook на той же странице: Итак, для вашей тестовой страницы:
Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Эхо javascript из php не работает?

Автор вопроса: ZachLHelmsОтветов: 3

Итак, на html-странице я пытаюсь, чтобы php-сегмент повторил некоторый код javascript, как показано здесь:

<?php
    echo "This was legitimately hit";
    if(!empty($_POST['name']))
    {
        echo '<script type="text/javascript">alert("We got the name");</script>';
    }
    else
    {
        echo '<script type="text/javascript">alert("We DID NOT get the name");</script>';
    }
?>

и из того, что я прочитал в Интернете, это кажется законным способом ведения дел, но страница, кажется, читает первую часть до первого закрывающего шеврона (показанного чуть ниже здесь) в качестве комментария.

<?php
    echo "This was legitimately hit";
    if(!empty($_POST['name']))
    {
        echo '<script type="text/javascript">

Затем он считывает эхо else и next как обычный текст и помещает его на веб-страницу. следующий блок кода javascript затем читается как обычный блок кода javascript, поэтому на странице появляется всплывающее окно с сообщением, что имя не получено. Закрывающая скобка и закрывающий шеврон просто выводятся как дополнительный текст.

Итак, в конце концов страница просто заканчивается

alert("We got the name")'; } else { echo ''; } ?>

напечатано на нем в виде простого текста и имеет всплывающее окно с сообщением, что мы не получили имени.

Что здесь происходит не так?

  • Я не думаю, что это настоящий код, за исключением того, что вы пишете код в среде, где теги html не разрешены - например, в редакторе html системы управления контентом. codingbiz 01.06.2012

javascriptphphtmlecho

Ответы

Ответ 1 · рейтинг 4 · Dan

Похоже, файл не обрабатывается как PHP. Имя файла заканчивается на .php? Вы уверены, что PHP установлен и правильно подключен к веб-серверу?

изменить: для обработки запросов Facebook на той же странице:

<?php

if (isset($_POST['facebook_request_field'])) {
  // handle the Facebook request, output any necessary response
  // then exit
  exit;
}

?>
<!-- display the web page normally here -->

Итак, для вашей тестовой страницы:

<?php

if (isset($_POST['name'])) {
  echo '<script type="text/javascript">alert("got a name!");</script>';
  exit;
}

?>
<script type="text/javascript">alert("No name.");</script>

(Это на самом деле идентично тому, что у вас уже есть, поэтому, возможно, я неправильно понимаю цель.)

Ответ 2 · рейтинг 1 · Scott Saunders

Между We got the signed request и We got the name, я думаю, вы не предоставили нам фактический код, вызывающий ошибку. Дважды проверьте это и убедитесь, что перед вызовом alert у вас нет случайных одинарных кавычек.

Ответ 3 · Gerard Yin

Отсутствуют ; после alert. Вы пробовали исправить это в первую очередь?

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы