在PHP链接中传递变量

时间:2012-11-05 01:11:30

标签: php

  

可能重复:
  php - insert a variable in an echo string

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

问题是我似乎无法获取代码来识别变量,而是传递美元符号和变量名称,而不是值。

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

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

5 个答案:

答案 0 :(得分: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.';
    
  3. 绝对可以肯定,在使用或显示变量到浏览器之前,您要清理变量。至少,您希望删除任何HTML / JS代码,然后进行一些检查以确保结果具有您期望的类型和长度。有很多关于SO讨论如何做到这一点的问题,快速搜索 [php]清理GET变量会把它们搞砸。

答案 1 :(得分:2)

Single quotes do not parse variables,双引号。更改您的报价,您的链接应该正常工作。

示例:

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

答案 2 :(得分:2)

你必须在'

之外插入var 像这样:

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

答案 3 :(得分: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>'

答案 4 :(得分:-1)

您可以将变量包装在花括号中以转义变量表达式:

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