我有一个简单的登录页面发送用户并通过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用于其他用途,但我不知道如何将用户名放入查询中。
答案 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