【问题标题】:PHP variables not passed in single quotations [closed]PHP变量未在单引号中传递[关闭]
【发布时间】:2013-05-20 15:33:04
【问题描述】:

我正在尝试将变量$user 定义为页面所在目录的名称到页面上的 iframe。

变量$user 应该将用户名传递给iframe,以便iframe 可以下载用户的Minecraft 皮肤并显示它。当我用用户名替换 iframe 中的变量但 iframe 将 $user 识别为 $user 时,此代码有效...

主页:

<link rel="stylesheet" type="text/css" href="/css/index.css" />
<?php
    $path = DIRNAME($_SERVER['PHP_SELF']);
    $position = STRRPOS($path,'/') + 1;
    $user= SUBSTR($path,$position);
    $root="/";

include ($_SERVER['DOCUMENT_ROOT'].'/menu/nav.php');

echo '<iframe src="skin.php?user=$user" width="200" height="400" align="left"/>'
?>

iframe:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<?php  $user = $_GET['user']; ?>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" type="text/javascript"></script>
<script src="/js/excanvas.js" type="text/javascript"></script>
<script src="/js/minecraftskin.js" type="text/javascript"></script>
<script type="text/javascript">
    $(function() {
        $(".mc-skin").minecraftSkin();
    });
</script>
</head>
<style>
* {
    margin:0;
    padding:0;
}
div {
    display:inline-block;
}
.minecraft_head .head {
    display:none;
}
.minecraft_head:hover .hat {
    display:none;
}
.minecraft_head:hover .head {
    display:inline-block;
}
.scratch {
    display:none;
}
</style>
<body>

<span class="mc-skin" data-minecraft-username="<?php echo $user; ?>"></span>
</body>
</html>

我该如何纠正这个问题?

【问题讨论】:

    标签: php variables iframe


    【解决方案1】:

    PHP 不解析单引号内的变量,更改这一行:

    echo '<iframe src="skin.php?user=$user" width="200" height="400" align="left"/>'
    

    到这个(连接字符串样式):

    echo '<iframe src="skin.php?user=' .$user. '" width="200" height="400" align="left"/>'
    

    或者这个(使用双引号的内联变量样式):

    echo "<iframe src='skin.php?user=$user' width='200' height='400' align='left'/>"
    

    【讨论】:

      【解决方案2】:

      变量不在单引号内插值。将它们放在双引号或外引号中

      echo '<iframe src="skin.php?user=$user" width="200" height="400" align="left"/>'
      

      应该是

      echo '<iframe src="skin.php?user='.$user.'" width="200" height="400" align="left"/>';
      

      【讨论】:

        【解决方案3】:

        这行不通。

        单引号',不支持内联变量。

        双引号," 做。

        这将起作用:

        echo "<iframe src=\"skin.php?user=$user\" width=\"200\" height=\"400\" align=\"left\"/>";
        

        【讨论】:

        • 专业提示:HTML 属性可以使用单引号。
        猜你喜欢
        • 2023-01-21
        • 1970-01-01
        • 2014-01-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-11-14
        • 1970-01-01
        • 2016-05-22
        相关资源
        最近更新 更多