php - 非常简单的 PHP + MySql 登录表单不起作用?

标签 php mysql html authentication

我目前正在构建一个非常非常基本的登录脚本,基本上连接到数据库,并检查用户在表单中输入的值是否匹配。但是,出于某种原因,我的代码拒绝在单击提交按钮时执行任何操作!??这是代码...

<?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/

相关文章:

mysql - 如何使用从 case 语句派生的列更新 View ?

MYSQL使用不同表的外键将数据插入表中

javascript - JavaScript 中关联数组的键排序和索引访问

javascript - 获取响应时出现问题

php - 我们如何用ajax jquery让我们的页面每分钟刷新一次数据呢?

php - 通过 php 检测文档(表格)中的列 - 算法

php - CSV 到 Mysql 导入脚本以匹配字段

php - MySQL:选择两个日期范围内的所有数据

javascript - 全宽 div 在滚动时消失

html - 从 HTTP header 复制 Post 操作