gpt4 book ai didi

PHP 不发送 id

转载 作者:太空宇宙 更新时间:2023-11-03 11:13:01 24 4
gpt4 key购买 nike

我编写了一个脚本,用于根据 uniqueID 查找 ID

if ($_REQUEST['uniqueId'] != ""){
$qA = "SELECT id FROM customerdata WHERE uniqueId = \"". $_REQUEST['uniqueId']."\"";
$rA = mysql_query($qA);
list($id) = mysql_fetch_row($rA);
echo $id;
exit;

if ( mysql_num_rows ($rA) > 0) {

header('Location:response-en.php?id=$id');

}
else
{
header('Location:not-found.php');
}
}

不是将用户发送到 response-en.php?id=1 而是将他们发送到 response-en.php?id=$id

知道为什么会这样吗?任何帮助将不胜感激!谢谢!

最佳答案

使用: header('Location:response-en.php?id='.$id);

当您使用单引号时:'

这是一个字符串文字。该字符串中的所有内容(我的意思是所有内容)都是批发的。如果您这样做:$something = 'Location:response-en.php?id=$id';$something 的值为:Location: response-en.php?id=$id 为了将变量添加到字符串中,您可以使用连接运算符 .。因此,在 $something = 'Location:response-en.php?id='.$id; 之后 $something 的值将是 Location:response- en.php?id=5(假设 $id = 5)请参阅:http://www.php.net/manual/en/language.types.string.php#language.types.string.syntax.single

当你使用双引号时:“

PHP 将在您的字符串中搜索以查找任何变量。然后它将用变量的值替换变量名。如果您这样做:$something = "Location:response-en.php?id=$id";$something 的值为:Location: response-en.php?id=5 - 注意双引号的使用。请参阅:http://www.php.net/manual/en/language.types.string.php#language.types.string.syntax.double

此外,我想补充一点,您的脚本容易受到 SQL-injection attack 的攻击。 .在 SQL 查询中使用查询字符串值之前,请务必对其进行清理。有关清理 sql 值的更多信息,请参阅 mysql_real_escape_string 的文档.

关于PHP 不发送 id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7181772/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com