я пытаюсь сделать свои php-скрипты защищенными страницами, и поэтому при добавлении имени входа я хочу, чтобы он проверял ввод имени пользователя и пароля по отношению к имени пользователя и паролю базы данных, и если они совпадают, это позволит им просматривать защищенные страницы до выхода из системы. Я смог настроить защищенную страницу & Выйдите из системы на основе фиктивного имени пользователя и пароля. Теперь я хочу подключить его к пользователям базы данных. Это мой HTML & PHP-код. Любая помощь будет оценена 🙂
HTML:
<html>
<head>
<title>Login</title>
</head>
<body>
<form method="post" action="login.php">
<table border="1" cellpadding="2">
<caption>
Staff Login
</caption>
<tr>
<td><label for="username">Username</label></td>
<td><input type="text" name="username" cols="45" rows="5" tabindex="2"/></td>
</tr>
<tr>
<td><label for="password">Password</label></td>
<td><input type="password" name="password" cols="45" rows="5" tabindex="2"></textarea></td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" value="Login" /></td>
</tr>
</table>
</form>
</body>
</html>
PHP:
<html>
<head>
<title>Login</title>
</head>
<body>
<?php
// Check if username and password are correctif ($_POST["username"] == 'username' && $_POST["password"] == 'password') {
include 'connection.php';
// If correct, we set the session to YES
session_start();
$_SESSION["Login"] = "YES";
echo "You are now logged in.</br></br>";
echo "<a href='list-contacts.php'>Proceed to contacts...</a>";
}
else {
// If not correct, we set the session to NO
session_start();
$_SESSION["Login"] = "NO";
echo "Incorrect username and / or password.</br></br>";
echo "<a href='login.html'>Return to login</a>";
}
?>
</body>
</html>
Для полного руководства о том, как настроить веб-сайт с безопасной регистрацией / входом, я рекомендую http://m.wikihow.com/Create-a-Secure-Login-Script-in-PHP-and-MySQL. Я сам использовал это в качестве основы и расширил это.
<?php session_start();
include('../db.php');
if(isset($_POST['login_submit'])){
if(!empty($_POST['user_name']) && !empty($_POST['user_password'])){
$get_username=mysqli_real_escape_string($conn,$_POST['user_name']);
$get_password=mysqli_real_escape_string($conn,$_POST['user_password']);
$sql="SELECT * FROM users WHERE user_name= '$get_username' AND user_password = '$get_password' ";
if($result=mysqli_query($conn,$sql)){
if(mysqli_num_rows($result)==1){
header('Location:../admin/index.php');
}else{
header('Location:../index.php?login=wrong');
}
}else{
header('Location:../index.php?login=error');
}
}else{
header('Location:../index.php?login=empty');
}
}else{}
?>
Это функция php 5 mysqli_num_row () для изменения имени пользователя и пароля из базы данных.
всегда назначайте сеанс вверху страницы, прежде чем какой-либо вывод будет отправлен в браузер.
Вы можете проверить ввод имени пользователя и пароля в базе данных простым запросом my sql
session_start();
$con=mysqli_connect("host","user","password","db_name");
$query=mysqli_query("select from users_table where username='".$_POST['username']."' and password='".$_POST['password']."'");
if(mysqli_num_rows($query)==1)
{
//set session data here
//redirect user to where you want
}
Включите ваш connection.php
до вашего
if ($_POST["username"] == 'username' && $_POST["password"] == 'password')
условие, а затем выполните запрос выбора на вашей базе данных, чтобы получить имя пользователя и пароль, такие как "select * from tablename where username='$_POST["username"]' and password='$_POST["password"]'"
а затем в вашем, если проверить, что результат запроса не является пустым
Вы также можете проверить эту ссылку для входа в систему mysql-php: —
http://www.sourcecodetuts.com/php/27/how-create-login-page-php-and-mysql-session переменная