php
2012-07-16 60 views 0 likes 
0

您好我想通过URL从一个文件传递到另一个文件的值。如何通过一个变量通过URL在PHP

我做的方法是:<a href='fund_view.php?idfund="<? echo $row['idfund']; ?>"'>

毕竟我使用

$aidi = $_GET['idfund']; 

echo 'ID= '.$aidi;` 

在其他文件中的正确的价值得到但结果我得到的是这种格式ID= \"10\"

的网址后,我通过ID看起来像

http://example.com/fund_view.php?idfund="10" 

,我想要的结果只是ID="10"

+2

功能上从锚定'> – Waygood 2012-07-16 14:24:26

+1

如他所示,他需要引号。 – Peon 2012-07-16 14:26:21

+0

如果你要通过查询字符串传递变量,使用'urlencode()'或类似的东西更安全。 – 2012-07-16 14:26:22

回答

2

变化

<a href='fund_view.php?idfund="<? echo $row['idfund']; ?>"'> 

<a href='fund_view.php?idfund=<? echo $row['idfund']; ?>'> 

也请记住,你的代码是非常不安全的......至少投的参数使用前INT:

$aidi = (integer) $_GET['idfund']; 
+0

为什么downvote?) – 2012-07-16 14:28:09

+0

int-casting假定它确实是一个int。虽然提到安全性是好的,但做一条“你必须把它变成一个整数”的声明是没有用的。 – 2012-07-16 14:34:32

+0

一个字段/参数/列/不管名为ID _should_是整数 – 2012-07-16 14:36:04

2

在php.ini中关闭magic_quotes,你应该去掉那些反斜杠。

0

早期版本的PHP(5.4以下版本)有一个非常直观的反特性,称为"magic quotes",automati cally(并且默默地)转义所有的GET/POST字符串,就好像它们将被用在MySQL查询中一样。

倒过来相对比较简单,只是当你不知道这样的特征存在时头痛。

解决方案1:关闭magic_quotes的与ini_set

有时候,你将无法使用的ini_set(限制性主机提供商),所以下面是我用过的最好的旁边(便携)解决方案:

NB:提供的get_magic_quotes_gpc功能页

<?php 
    function stripslashes_deep(&$value) 
    { 
     $value = is_array($value) ? 
        array_map('stripslashes_deep', $value) : 
        stripslashes($value); 

     return $value; 
    } 

    if (get_magic_quotes_gpc()) 
    { 
     stripslashes_deep($_GET); 
     stripslashes_deep($_POST); 
    } 

?> 
相关问题