是否可以使用GET或类似的方法将记录加载到表单中?
E。g我有formA,它有一个foreach列表的所有客户端在数据库中,在每一行的末尾,我有一个链接,称为"编辑",这个链接到formB.php,并设置为这样>>
sitename.com/FormB.php?token=<?php echo $ID ?>
这会给你一个url,看起来像这样:
http://www.sitename.com/formB.php?token=25
上面的链接将加载ID为25的记录到第二个表单中。
我不确定如何处理第二种形式的链接,你能在第二种形式中回声GET ID,或者它必须是GET令牌吗?
PHP中有预定义的$_GET
变量。这基本上是一个包含所有GET
参数的数组:
// url = index.php?foo=bar&hello=world
echo $_GET['foo']; // bar
echo $_GET['hello']; // world
所以,考虑到你的url和查询:
$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']);
您可以使用$_GET
-数组访问GET-Parameter。要查看里面有什么,你可以使用:print_r($_GET);
在第二种情况下,您必须使用$_GET['token']
,因为参数名为token
。
注意:如果您将参数传递给SQL-Query,请确保它是安全的。在本例中使用intval()
。