-4

可能重复:
php - 在回显字符串中插入变量

我有一个链接,当点击它时会调用下一页,并且应该将两个变量传递给页面,第一个是 Manu,第二个是fuel_type。

问题是我似乎无法获得识别变量的代码,而是通过美元符号和变量名而不是值。

代码在下面,我尝试过几种不同的方法,但我的想法已经不多了。

 .'<a href=\act/manufacturer.php?manufacturer=$manu&fuel_type=$fuel_type>'.$manu.'</a>'.
4

5 回答 5

4

首先,确保变量包含您想要的(来自超全局 GET 变量):

$manu = $_GET['manu'];
$fuel_type = $_GET['fuel_type'];

然后,您有两个选择:

  1. 使用双引号"代替单引号,引号内的变量会被展开

    "My dog is named $dog_name, and is $dog_age years old";
    
  2. 将单引号内的字符串与变量连接起来:

    'My dog is named ' . $dog_name . ', and is ' . $dog_age . ' years old.';
    

绝对确定,但是在使用变量或将它们显示到浏览器之前对变量进行清理。至少,您希望删除任何 HTML/JS 代码,然后进行一些检查以确保结果是您期望的类型和长度。有很多关于 SO 讨论如何做到这一点的问题,快速搜索[php] sanitize GET variables会发现它们。

于 2012-11-05T01:24:52.850 回答
2

单引号不解析变量,而双引号可以。更改您的引号,您的链接应该可以正常工作。

例子:

."<a href=\act/manufacturer.php?manufacturer=$manu&fuel_type=$fuel_type>".$manu.'</a>'.
于 2012-11-05T01:13:11.763 回答
2

您必须在 ' 之外插入 var

像这样:

.'<a href=\act/manufacturer.php?manufacturer='.$manu.'&fuel_type='.$fuel_type.'>'.$manu.'</a>'.
于 2012-11-05T01:13:53.670 回答
2

单引号不允许解析变量,双引号可以。所以你最好做类似的事情:

"<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>'
于 2012-11-05T01:15:10.140 回答
-1

您可以将变量包裹在花括号周围以转义变量表达式:

'<a href=\act/manufacturer.php?manufacturer={$manu}&fuel_type={$fuel_type}>'.$manu.'</a>'.
于 2012-11-05T01:16:34.267 回答