您好我正在尝试通过网址将值从一个文件传递到另一个文件。
我的方式是:<a href='fund_view.php?idfund="<? echo $row['idfund']; ?>"'>
毕竟我使用
在其他文件中获得了正确的值$aidi = $_GET['idfund'];
echo 'ID= '.$aidi;`
但我得到的结果是这种格式ID= \"10\"
我传递id之后的url看起来像
http://example.com/fund_view.php?idfund="10"
我希望结果只是ID="10"
。
答案 0 :(得分:2)
关闭php.ini中的magic_quotes,你应该摆脱那些反斜杠。
答案 1 :(得分:2)
更改
<a href='fund_view.php?idfund="<? echo $row['idfund']; ?>"'>
到
<a href='fund_view.php?idfund=<? echo $row['idfund']; ?>'>
还要记住,你的代码非常不安全......至少在使用它之前将参数强制转换为int:
$aidi = (integer) $_GET['idfund'];
答案 2 :(得分:0)
早期版本的PHP(低于5.4)有一个非常反直觉的功能,称为"magic quotes",它会自动(并且无声地)转义所有GET / POST字符串,就好像它们将用于MySQL查询一样。
逆转相对简单,当你不知道存在这样的特征时,这是一件令人头疼的事。
解决方案1:使用ini_set
关闭magic_quotes有时您将无法使用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);
}
?>