如何将所需参数放入访问php的链接中?

如何将所需参数放入访问php的链接中?,php,Php,www.example.com/login.php?电子邮件=test@gmail.comAND密码=某物50 我有一个mysql操作,它需要2个参数电子邮件和密码 $sql = "SELECT * FROM User WHERE ID='".$email."'AND'".$pass."'"; 因此,我如何将这些参数放在上面的链接中,因为当我有一个参数时它会工作,但我不知道如何添加第二个参数。首先,您必须修复查询字符串,即?启动字符串,每个附加参数的前缀为&: 现在$\u GET数组中的所有变

www.example.com/login.php?电子邮件=test@gmail.comAND密码=某物50

我有一个mysql操作,它需要2个参数电子邮件和密码

$sql = "SELECT * FROM User WHERE ID='".$email."'AND'".$pass."'";

因此,我如何将这些参数放在上面的链接中,因为当我有一个参数时它会工作,但我不知道如何添加第二个参数。

首先,您必须修复查询字符串,即?启动字符串,每个附加参数的前缀为&:

现在$\u GET数组中的所有变量都可用

千万不要在SQL语句中串联变量,应该使用准备好的语句来防止SQL注入攻击。下面是一个MySQLi示例,其中您在一个绑定参数中使用了$\u GET变量:

$sql = $mysqli->prepare("SELECT * FROM User WHERE ID = ?");
$sql->bind_param('s', $_GET['Email']); // here we use the $_GET variable

因为您不应该存储纯文本密码,所以应该使用PHP来处理密码安全性。如果您使用的PHP版本低于5.5,则可以使用密码\u散列。在散列之前,不需要对它们执行任何操作或使用任何其他清理机制。这样做会更改密码并导致不必要的额外编码。此外,在查询字符串中传递凭据很容易被破解,不应该这样做。

您需要回到这里的基础知识。首先,切勿通过GET发送敏感数据,即作为查询字符串参数。其次,你的SQL很容易受到注入攻击,所以你应该看看这里。你也应该看看这里?Password=something50一定喜欢纯文本密码,而不是可能的HTTP协议,对吧?说。即使是这样也不安全!永远不要存储纯文本密码!请使用PHP来处理密码安全性。如果您使用的PHP版本低于5.5,则可以使用密码\u散列。在散列之前,不需要对它们执行任何操作或使用任何其他清理机制。这样做会更改密码并导致不必要的额外编码。
$_GET['Email']; // is equal to "test@gmail.com"
$_GET['Password']; // is equal to "something50"
$sql = $mysqli->prepare("SELECT * FROM User WHERE ID = ?");
$sql->bind_param('s', $_GET['Email']); // here we use the $_GET variable