可能重复:
php - 在回显字符串中插入变量
我有一个链接,当点击它时会调用下一页,并且应该将两个变量传递给页面,第一个是 Manu,第二个是fuel_type。
问题是我似乎无法获得识别变量的代码,而是通过美元符号和变量名而不是值。
代码在下面,我尝试过几种不同的方法,但我的想法已经不多了。
.'<a href=\act/manufacturer.php?manufacturer=$manu&fuel_type=$fuel_type>'.$manu.'</a>'.
可能重复:
php - 在回显字符串中插入变量
我有一个链接,当点击它时会调用下一页,并且应该将两个变量传递给页面,第一个是 Manu,第二个是fuel_type。
问题是我似乎无法获得识别变量的代码,而是通过美元符号和变量名而不是值。
代码在下面,我尝试过几种不同的方法,但我的想法已经不多了。
.'<a href=\act/manufacturer.php?manufacturer=$manu&fuel_type=$fuel_type>'.$manu.'</a>'.
首先,确保变量包含您想要的(来自超全局 GET 变量):
$manu = $_GET['manu'];
$fuel_type = $_GET['fuel_type'];
然后,您有两个选择:
使用双引号"
代替单引号,引号内的变量会被展开
"My dog is named $dog_name, and is $dog_age years old";
将单引号内的字符串与变量连接起来:
'My dog is named ' . $dog_name . ', and is ' . $dog_age . ' years old.';
绝对确定,但是在使用变量或将它们显示到浏览器之前对变量进行清理。至少,您希望删除任何 HTML/JS 代码,然后进行一些检查以确保结果是您期望的类型和长度。有很多关于 SO 讨论如何做到这一点的问题,快速搜索[php] sanitize GET variables会发现它们。
单引号不解析变量,而双引号可以。更改您的引号,您的链接应该可以正常工作。
例子:
."<a href=\act/manufacturer.php?manufacturer=$manu&fuel_type=$fuel_type>".$manu.'</a>'.
您必须在 ' 之外插入 var
像这样:
.'<a href=\act/manufacturer.php?manufacturer='.$manu.'&fuel_type='.$fuel_type.'>'.$manu.'</a>'.
单引号不允许解析变量,双引号可以。所以你最好做类似的事情:
"<a href=\act/manufacturer.php?manufacturer=$manu&fuel_type=$fuel_type>$manu</a>";
- 或者在你的情况下 -
'<a href=\act/manufacturer.php?manufacturer='.$manu.'&fuel_type='.$fuel_type.'>'.$manu.'</a>'
您可以将变量包裹在花括号周围以转义变量表达式:
'<a href=\act/manufacturer.php?manufacturer={$manu}&fuel_type={$fuel_type}>'.$manu.'</a>'.