Php 试图为我的网站建立一个简单的登录系统(没有商业价值)
作为一个对PHP和MySQL非常陌生的人,我仍然非常困惑,在经过几个小时的教程和应该帮助我的事情之后,我仍然有很多困难 您可以在beastfox.com/index.php上找到该测试(index.html目前只是最终设计的一个虚拟) 用户名:Username 密码:密码(首字母大写) 我知道你们可能都很先进,但我仍在努力学习新东西 我将把我的PHP代码放在这里,我希望你能试试看我是否做错了什么?我将尝试解释发生了什么,当您输入用户名和密码时,它将指向一个测试页面(myaccount.php),并且它应该保留一个会话。但它仍然没有做到这一点,我的猜测是,我有一个错误,在MySQL或其他东西,这是我的数据库也,我不知道我是否应该涵盖我的详细信息和MySQL帐户的名称。但无论如何我有以防万一,如果需要我可以提供给你! 我不太确定如何使用MySQL或PHP小提琴,所以我只想粘贴代码。这是一个.php文件,其中集成了html代码Php 试图为我的网站建立一个简单的登录系统(没有商业价值),php,html,mysql,Php,Html,Mysql,作为一个对PHP和MySQL非常陌生的人,我仍然非常困惑,在经过几个小时的教程和应该帮助我的事情之后,我仍然有很多困难 您可以在beastfox.com/index.php上找到该测试(index.html目前只是最终设计的一个虚拟) 用户名:Username 密码:密码(首字母大写) 我知道你们可能都很先进,但我仍在努力学习新东西 我将把我的PHP代码放在这里,我希望你能试试看我是否做错了什么?我将尝试解释发生了什么,当您输入用户名和密码时,它将指向一个测试页面(myaccount.php),
<?php
include("database.php");
session_start();
if($_SERVER["REQUEST_METHOD"] == "POST") {
$username = mysqli_real_escape_string($db,$_POST['username']);
$password = mysqli_real_escape_string($db,$_POST['password']);
$sql = "SELECT id FROM admin WHERE username = '$username' and passcode = '$password'";
$result = mysqli_query($db,$sql);
$row = mysqli_fetch_array($result,MYSQLI_ASSOC);
$active = $row['active'];
$count = mysqli_num_rows($result);
if($count == 1) {
session_register("username");
$_SESSION['login_user'] = $username;
header("location: myaccount.php");
}else {
$error = "Your Login Name or Password is invalid";
}
}
?>
和HTML,它在相同的文档中
<!DOCTYPE html>
<html>
<head>
<title>Login</title>
<link rel="apple-touch-icon" sizes="57x57" href="favicon/apple-icon-57x57.png">
<link rel="apple-touch-icon" sizes="60x60" href="favicon/apple-icon-60x60.png">
<link rel="apple-touch-icon" sizes="72x72" href="favicon/apple-icon-72x72.png">
<link rel="apple-touch-icon" sizes="76x76" href="favicon/apple-icon-76x76.png">
<link rel="apple-touch-icon" sizes="114x114" href="favicon/apple-icon-114x114.png">
<link rel="apple-touch-icon" sizes="120x120" href="favicon/apple-icon-120x120.png">
<link rel="apple-touch-icon" sizes="144x144" href="favicon/apple-icon-144x144.png">
<link rel="apple-touch-icon" sizes="152x152" href="favicon/apple-icon-152x152.png">
<link rel="apple-touch-icon" sizes="180x180" href="favicon/apple-icon-180x180.png">
<link rel="icon" type="image/png" sizes="192x192" href="favicon/android-icon-192x192.png">
<link rel="icon" type="image/png" sizes="32x32" href="favicon/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="96x96" href="favicon/favicon-96x96.png">
<link rel="icon" type="image/png" sizes="16x16" href="favicon/favicon-16x16.png">
<link rel="manifest" href="favicon/manifest.json">
<meta name="msapplication-TileColor" content="#ffffff">
<meta name="msapplication-TileImage" content="favicon/ms-icon-144x144.png">
<meta name="theme-color" content="#ffffff">
<meta charset="UTF-8">
<link rel="stylesheet" type="text/css" href="main.css">
<link href="https://fonts.googleapis.com/css?family=Raleway:100" rel="stylesheet">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<link href="https://fonts.googleapis.com/css?family=Open+Sans:300" rel="stylesheet">
<link href="https://fonts.googleapis.com/css?family=Roboto+Condensed" rel="stylesheet">
</head>
<body>
<div class="LoginBox" style="">
<div class="element_wrapper">
<a class="Login">Login</a>
<class>
<center>
<form action = "" method = "post">
<input type = "text" name = "username" class = "username" value="Username"/><br /><br />
<input type = "password" name = "password" class = "password" value="Password" /><br/><br />
<input type = "submit" value = " Submit " class="btn"/><br />
</form></center>
</class>
</div>
</div>
</body>
</html>
登录
登录
我希望我没有做太复杂的事情,我很抱歉Markdown似乎无法理解我的代码,如果任何缩进或某些东西看起来不正确,那就不应该了。但是我已经为我需要的文件整理好了一切,例如(连接到mySQL和session.php的database.php以及myaccount.php)
表示要了解的语句。即使是这样也不安全!永远不要存储纯文本密码!请使用PHP来处理密码安全性。如果您使用的PHP版本低于5.5,则可以使用密码\u hash()
。在散列之前,不需要对它们执行任何操作或使用任何其他清理机制。这样做会更改密码,并导致不必要的额外编码。如果它不维护会话,则您没有将session_start()放入代码>在每个PHP页面的顶部。如果你第一次没有时间做正确的事情,你什么时候能找到时间来添加它?我讨厌人们说“我没走那么远…”或“这个网站不会公开…”或“它只供学校使用,所以安全不重要…”。如果老师和教授从一开始就不谈论安全问题,那他们就是做错了。挑战他们。他们正在教授草率而危险的编码实践,学生们以后将不得不放弃这些实践。我也讨厌人们说“我以后再添加安全性…”或“安全性现在不重要…”或“忽略安全风险…”。如果你看屏幕截图,你的表中有用户名
和密码
,你的查询有用户名
和密码
,这就是你的错误所在。
<?php
session_start();
$server="beastfox.com";
$user="-";
$password="-";
$database= "-_database";
$db = mysqli_connect(DB_SERVER,DB_USERNAME,DB_PASSWORD,DB_DATABASE);
?>