Intereting Posts
Является ли redis на Heroku возможным без аддона? Как получить доступ к объекту объекта (элемента stdClass Object) элемента / элемента массива? Как повторно сохранить объект как другую строку в Doctrine 2 phpmyadmin в xampp не работает на Windows 10 Последовательности случайных данных Php / MySQL (музыкальный шаг) Вызов функции-члена на не-объекте – работает localhost, но не в сети Мне нужно использовать (int) $ id, прежде чем использовать $ id в bindValue в Php PDO Twilio PHP – сертификат SSL: самоподписанный сертификат в цепочке сертификатов Подтвердите поле в привязке ссылок CodeIgniter для удаления записи Как добавить путь к include_path PHP в .htaccess Неустранимая ошибка: допустимый размер памяти 268435456 байт исчерпан (пытался выделить 71 байт) Как определить, содержит ли строка символы на иврите, используя PHP? Несколько кнопок отправки в форме curl и ping – как проверить, находится ли сайт вверх или вниз? Несколько параметров HTTP GET с тем же идентификатором

Эхо PHP внутри Javascript?

Почему это не работает?

<?php mysqli_select_db($connect,"dev"); $response = "Select response from revbut where session='$u'"; $rquery = mysqli_query($connect,$response); $responseanswer = mysqli_fetch_array($rquery); $re = $responseanswer['response']; ?> <script type="text/javascript"> <?php echo $re; ?> </script> 

$re внутри JavaScript не получает эхо. Но если я помещаю его внутри указанной выше функции PHP, он получает эхо.

РЕДАКТИРОВАТЬ – НО ТО ПОЧЕМУ ЭТО НЕ РАБОТАЕТ?

 if(<?php echo $re; ?>){ document.getElementById('hide').style.display = "none"; } 

если я ВКЛЮЧАЮЬ функцию hide вне if, она работает.

Related of "Эхо PHP внутри Javascript?"

Он получил эхо, но вы не увидите ничего на своей странице, так как текст будет записан в теге Javascript, который не отображается браузером. Посмотрите на свой источник страницы, чтобы убедиться, что текст действительно есть.

РЕДАКТИРОВАТЬ

Пытаться

 if(<?php echo json_encode($re); ?>){ document.getElementById('hide').style.display = "none"; } 

Это гарантирует, что ваша строка PHP будет преобразована в соответствующий тип Javascript – в случае строк она будет гарантировать, что строка заключена в " и будет экранирована должным образом.

EDIT снова

Когда вы выполните следующее

 <script type="text/javascript"> if(<?php echo $re; ?>){ document.getElementById('hide').style.display = "none"; } </script> 

это то, что написано на HTML-странице (это интерпретируется браузером)

 <script type="text/javascript"> if(whatever is in the $re vairable){ document.getElementById('hide').style.display = "none"; } </script> 

Но это даже не действительный Javascript. Что вы хотите

 <script type="text/javascript"> if("whatever is in the $re vairable"){ document.getElementById('hide').style.display = "none"; } </script> 

Обратите внимание на то, что «гарантирует, что все это действительный Javascript и что содержимое $re будет интерпретироваться как строка Javascript с помощью механизма Javascript браузера. Вызов json_encode() делает именно это – он преобразует переменные PHP в соответствующий Javascript переменные.

попробуй это:

 <script type="text/javascript"> alert('<?php echo $re; ?>'); </script> 

Во-первых, вы не можете предположить, что все операции, связанные с БД, всегда будут выполняться с достаточной степенью точности и всегда будут возвращать данные. Откройте руководство по PHP, просмотрите все ваши вызовы функций mysqli_ * и добавьте правильный тест, чтобы определить, вернут ли они код ошибки или нет.

Во-вторых, PHP и JavaScript не запускаются одновременно. После выполнения PHP все, что вы получаете, – это простой текст, который отправляется в браузер. Если этот текст будет JavaScript-кодом, он будет запущен. И вам не нужно угадывать: код JavaScript находится прямо там, и вы можете использовать меню View Source вашего браузера, чтобы проверить его.

do view source, это эхо, попробуйте и подтвердите

 <script type="text/javascript"> alert('<?=$re; ?>'); </script>