在MySQL查询中调用POST / SESSION

时间:2015-01-28 00:35:28

标签: php mysql

我有一个简单的登录页面发送用户并通过POST传递给login.php,一旦用户通过检查数据库,用户就会被发送到根据提供的用户名执行MySQL查询的页面。 如何将POST方法调用到查询中?

的index.php

<form method="POST" action="login.php">
<input class='textbox' name='username'>
<input class='textbox' name='password'>

的login.php

...
$uname = $_POST['username'];
$pword = $_POST['password'];
...

page1.php中

要执行的查询:

    $SQL = "SELECT * FROM test WHERE userid= $TheUserFromindex/login.php"

我可以将一个SESSION发送到page1.php用于其他用途,但我不知道如何将用户名放入查询中。

1 个答案:

答案 0 :(得分:0)

从理论上讲,在验证用户的登录凭据后,您可以将会话变量设置为可用于在以后的页面上标识用户的内容。这可以是ID,也可以是用户名本身。

$_SESSION['username'] = $_POST['username'];

然后在您的查询中,请致电:

$SQL = "SELECT * FROM test WHERE userid= $_SESSION['username']"

这应该回答你的问题,但这是一个相当简单,不安全和天真的方法。此外,永远不要将原始发布数据传递给MySQL查询。

WikiHow有一篇很好的文章,可以向您展示如何创建安全会话并防止XSS攻击或SQL注入:

http://www.wikihow.com/Create-a-Secure-Login-Script-in-PHP-and-MySQL