在Javascript中回声PHP?
为什么这不起作用在Javascript中回声PHP?,php,javascript,echo,Php,Javascript,Echo,为什么这不起作用 <?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']; ?>
<?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>
如果我将hide函数放在if-的外部,它将工作。它将得到响应,但您不会在页面上看到任何内容,因为文本将写入浏览器未显示的Javascript标记中。查看页面源代码以验证文本是否确实存在 编辑 试一试 这是写入HTML页面的内容(然后由浏览器进行解释)
如果(无论$re VARABLE中有什么){
document.getElementById('hide').style.display=“无”;}
但这甚至不是有效的Javascript。你想要的是
<script type="text/javascript">
if("whatever is in the $re vairable"){
document.getElementById('hide').style.display = "none"; }
</script>
如果(“在$re VARABLE中的任何内容”){
document.getElementById('hide').style.display=“无”;}
请注意
“
,它确保整个内容都是有效的Javascript,并且$re
的内容将被浏览器的Javascript引擎解释为Javascript字符串正是这样做的-它将PHP变量转换为适当的Javascript变量。查看源代码,然后重试并确认
<script type="text/javascript">
alert('<?=$re; ?>');
</script>
警报(“”);
试试这个:
<script type="text/javascript">
alert('<?php echo $re; ?>');
</script>
警报(“”);
首先,您不能假设所有与数据库相关的操作都会成功完成并始终返回数据。打开PHP手册,查看所有mysqli_*函数调用,并添加适当的测试以检测它们是否返回错误代码
第二,PHP和JavaScript不会同时运行。PHP完成后,您得到的只是一些发送到浏览器的纯文本。如果这些文本恰好是JavaScript代码,它将运行。您不必猜测:JavaScript代码就在那里,您可以使用浏览器的“查看源代码”菜单来检查它。哪个PHP函数?其他在这段代码中没有函数。一个词-GENIUS…谢谢…它正在工作…如果可能的话,你能解释一下为什么它工作吗。这是一个很好的提醒,它可以用来回显你的php变量
<script type="text/javascript">
if(whatever is in the $re vairable){
document.getElementById('hide').style.display = "none"; }
</script>
<script type="text/javascript">
if("whatever is in the $re vairable"){
document.getElementById('hide').style.display = "none"; }
</script>
<script type="text/javascript">
alert('<?=$re; ?>');
</script>
<script type="text/javascript">
alert('<?php echo $re; ?>');
</script>