是否可以使用GET或类似的东西将记录加载到表单中?。
例如我有formA,它有一个DB的所有客户端的foreach列表,在每行的末尾我有一个名为'edit'的链接,这个链接转到formB.php并且被列出像这样>>
sitename.com/FormB.php?token=<?php echo $ID ?>
这会为您提供如下所示的网址:
http://www.sitename.com/formB.php?token=25
上面的链接例如将ID为25的记录加载到第二种形式。
我不知道如何处理第二种形式的链接,你能否以第二种形式回复GET ID,还是必须是GET令牌?
答案 0 :(得分:3)
在PHP中,有预定义的$_GET
变量。这基本上是一个包含所有GET
参数的数组:
// url = index.php?foo=bar&hello=world
echo $_GET['foo']; // bar
echo $_GET['hello']; // world
所以,考虑一下你的网址和查询:
$query = 'SELECT * FROM `table` WHERE `token`=' . $_GET['token'];
为了避免安全漏洞,我们需要在使用字符串时在用户定义的参数周围使用函数mysql_real_escape_string
。使用其他类型(如数字)时,您只需将其解析为数字。
// if token is a number
$query = 'SELECT * FROM `table` WHERE `token`=' . intval($_GET['token']);
// if token is a string
$query = 'SELECT * FROM `table` WHERE `token`=' . mysql_real_escape_string($_GET['token']);
答案 1 :(得分:1)
您可以使用$_GET
- 数组访问GET参数。要查看那里的内容,您可以使用:
print_r($_GET);
在第二种情况下,您必须使用$_GET['token']
,因为参数名为token
。
注意:如果要将参数传递给SQL查询,请确保它是安全的。在这种情况下使用intval()
。 SQL注入很糟糕。