我目前正在构建一个非常非常基本的登录脚本,基本上连接到数据库,并检查用户在表单中输入的值是否匹配。但是,出于某种原因,我的代码拒绝在单击提交按钮时执行任何操作!??这是代码...
<?php
mysql_connect("localhost", "username", "password");
mysql_select_db("dbname");
?>
<body>
<?php
if(isset($_POST['submit'])){
$username = $_POST['username'];
$password = $_POST['password'];
$result = mysql_query("SELECT * FROM users WHERE username='$username' AND password='$password'");
$num = mysql_num_rows($result);
if($num == 0){
echo "Bad login, go <a href='login.php'>back</a>.";
}else{
session_start();
$_SESSION['username'] = $username;
header("Location: admin.php");
}
}else{
?>
<form action='login.php' method='post'>
Username: <input type='text' name='username' /><br />
Password: <input type='password' name='password' /><br /><br />
<input type='submit' value='Login' />
</form>
<?php
}
?>
</body>
有什么想法吗?
最佳答案
你正在检查
if(isset($_POST['submit'])){
...但是 $_POST['submit']
永远不会被设置,因为你没有给你的任何表单控件 name="submit"
属性。
将提交按钮更改为:
<input type='submit' name='submit' value='Login' />
请同时sanitise your database input ,最好通过参数化查询。
关于php - 非常简单的 PHP + MySql 登录表单不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10786182/