我正在使用phpmyadmin来管理我的mysql数据库。我正在开发一个网站,并建立了一个注册表单,该表单在十分钟前就可以正常使用了,当时我决定创建登录表单... 这是我的代码,如果您有任何疑问,请发表评论
这是登录页面的代码。
<?php
session_start();
$_SESSION['message'] = '';
include("db_connection.php");
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
// code...
if($_POST['password'] == $_POST['password']){
$username = $conn-> real_escape_string($_POST['username']);
$email = $conn->real_escape_string($_POST['Email']);
$Password = md5($_POST['password']); //md5 hash password security
}
}
?>
<!DOCTYPE html>
<html lang="pt">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Acessar MMT University</title>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
<link href="https://fonts.googleapis.com/css2?family=Montserrat:wght@500&display=swap" rel="stylesheet">
<link rel="icon" href="logo-black.png" type="image/xpng">
<link rel="stylesheet" href="style.css">
<script src="https://code.jquery.com/jquery-3.4.0.min.js"></script>
<script>
$(document).ready(function(){
$(".login").hide();
$(".register_li").addClass("active");
$(".login_li").click(function(){
$(this).addClass("active");
$(".register_li").removeClass("active");
$(".login").show();
$(".register").hide();
})
$(".register_li").click(function(){
$(this).addClass("active");
$(".login_li").removeClass("active");
$(".register").show();
$(".login").hide();
})
});
</script>
</head>
<body>
<nav>
<div class="logo">
<img src="mmt-white.png" alt="logo">
</div>
<ul class="nav-links">
<li><a href="welcome.php">Home<a></li>
<li><a href="#servicos">Servicos<a></li>
<li><a href="#">Depoimentos<a></li>
<li><a href="#">Comecando<a></li>
<li><a href="#">Contacte-nos<a></li>
</ul>
<a class="cta" href="Login.php">Acessar</a>
<div class="burger">
<div class="line1"></div>
<div class="line2"></div>
<div class="line3"></div>
</div>
</nav>
<script src="mobile.js"></script>
<div class="container">
<div class="wrapper">
<div class="left">
<h3>MMT University</h3>
<img src="logo-solo.png" alt="logo2">
</div>
<div class="right">
<div class="tabs">
<ul>
<li class="login_li"> Acessar </li>
<li class="register_li"> Registrar</li>
</ul>
</div>
<form action="signup.inc.php" method="post">
<div class="alert alert-error"> <?= $_SESSION['message']?></div>
<div class="login">
<div class="input_field">
<input type="text" name="mailuid" placeholder="Email/Username" class="input" required>
</div>
<div class="input_field">
<input type="text" name="password" placeholder="Senha" class="input" required>
</div>
<div class="btn"> Acessar</div>
<a href="#" class="fa fa-instagram"></a>
<a href="#" class="fa fa-youtube"></a>
</div>
</form>
<form class="form-signup" action="login.inc.php" method="post">
<div class="register">
<div class="input_field">
<input type="text" name="uid" placeholder="Usuário" class="input" required>
<input type="text" name="mail" placeholder="Email" class="input" required>
<input type="password" name="pwd" placeholder="Senha" class="input" required>
<input type="password" name="pwd-repeat" placeholder="Repita a sua Senha" class="input" required>
<button type="submit" class="btn" name="signup-submit">Registrar</button>
</div>
<a href="https://www.instagram.com/mmtuniversity_oficial/" class="fa fa-instagram" target="_blank">
</a>
<a href="https://www.youtube.com/channel/UCuf2KhhA8Ub3hcSgfaziiDw" class="fa fa-youtube" target="_blank"></a>
</div>
</form>
</div>
</div>
</
</body>
</html>
这是当我单击注册按钮[“ signup-submit”]时要运行的代码 “需要'db_connection.php'”具有数据库凭据。
<?php
if (isset($_POST['signup-submit'])) {
require 'db_connection.php';
$username = $_POST['uid'];
$email = $_POST['email'];
$password = $_POST['pwd'];
$passwordRepeat = $_POST['pwd-repeat'];
if(empty($username) || empty($email) || empty($password) || empty($passwordRepeat)){
header("Location: login.php?error=emptyfields&uid=".$username."&mail=".$email);
exit();
}
else if(!filter_var($email, FILTER_VALIDATE_EMAIL) && !preg_match("/^[a-zA-Z0-9]*$/", $username)){
header("Location: login.php?error=invalidemailuid");
exit();
}
else if (!filter_var($email, FILTER_VALIDATE_EMAIL)){
header("Location: login.php?error=invalidemail&uid=".$username);
exit();
}
else if (!preg_match("/^[a-zA-Z0-9]*$/", $username)){
header("Location: login.php?error=invalidemail&mail=".$email);
exit();
}
else if($password !== $passwordRepeat) {
header("Location: login.php?error=passwordcheck&uid=".$username."&mail=".$email);
exit();
}
else {
$sql = "SELECT uidUSers FROM users WHERE uidUsers=?";
$stmt = mysqli_stmt_init($conn);
if (!mysqli_stmt_prepare($stmt, $sql)) {
header("Location: login.php?error=sqlerror");
exit();
}
else {
mysqli_stmt_bind_param($stmt, "s", $username);
mysqli_stmt_execute($stmt);
mysqli_stmt_store_result($stmt);
$resultCheck = mysli_stmt_num_rows($stmt);
if($resultCheck > 0){
header("Location: login.php?error=usertaken&mail=".$email);
exit();
}
else {
$sql = "INSERT INTO users (uidUsers, emailUsers, pwdUsers) VALUES (?, ?, ?)";
$stmt = mysqli_stmt_init($conn);
if (!mysqli_stmt_prepare($stmt, $sql)) {
header("Location: login.php?error=sqlerror");
exit();
} else {
$hashedPwd = password_hash($password, PASSWORD_DEFAULT);
mysqli_stmt_bind_param($stmt, "sss", $username, $email,$hashedPwd);
mysqli_stmt_execute($stmt);
header("Location: login.php?signup=success");
exit();
}
}
}
}
mysqli_stmt_close($stmt);
mysqli_close($conn);
}
else {
header("Location: login.php");
exit();
}