gpt4 book ai didi

php - 在 Javascript 中回显 PHP?

转载 作者:可可西里 更新时间:2023-10-31 23:04:45 25 4
gpt4 key购买 nike

为什么这不起作用?

<?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>
JavaScript 中的

$re 没有得到回应。但是如果我将它放在上面的 PHP 函数中,它就会得到响应。

编辑 - 但为什么这不起作用?

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

如果我将隐藏函数放在 if 之外 - 它可以正常工作。

最佳答案

它得到回显,但您不会在页面上看到任何内容,因为文本将写入浏览器不显示的 Javascript 标记内。查看您的页面源以验证文本是否确实存在。

编辑

尝试

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

这将确保您的 PHP 字符串将被转换为适当的 Javascript 类型 - 如果是字符串,它将确保字符串包含在 " 中并正确转义。

再次编辑

当您执行以下操作时

<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 变量。

关于php - 在 Javascript 中回显 PHP?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4544648/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com