Страницу можно посетить без входа

У меня есть страница входа в систему. Когда люди входят в систему с правильной комбинацией имени пользователя и пароля из базы данных, они будут перенаправлены на другую страницу (‘input.html’). Когда комбинация неправильная, они получают ошибку.

Без входа в систему я могу просто изменить имя веб-адреса (с «login.php» на «input.html») и получить доступ к странице. Я хочу, чтобы только администратор и пользователи посещали страницу, а не просто «посетители» без учетной записи.

Мой код для моего ‘login.php’.

<?php
session_start();

$host = "localhost";
$user = "332547";
$pass = "cvEsbduv";
$db = "332547db";

mysql_connect($host, $user, $pass);
mysql_select_db($db);if (!empty($_POST)) {
$username = $_POST['username'];
$password = $_POST['password'];
$sql = "SELECT * FROM inloggen2 WHERE username='".$username."'      AND password='".$password."' LIMIT 1";$res = mysql_query($sql);
if(mysql_num_rows($res) == 1) {
header('location: input.html');
exit ();
}else {

echo "Niet goed ingelogd. Keer alstubliefd terug naar de vorige pagina.";

header('location: foumelding.php');
exit();
}
}
?><html>

<head>
<title>Inloggen</title>
</head>

<body>
<table border="1">
<tr>
<td align="center">Inlogggen</td>
</tr>
<tr>
<td>
<table>

<form method="post" action="login.php">
Gebruikersnaam: <input type="text" name="username" required/> <br /><br />
Wachtwoord: <input type="password" name="password" required/> <br /><br />
<input type="submit" name="submit" value="Log in" />
</form>
</table>
</td>
</tr>
</table>
</body>
</html>

0

Решение

Вам необходимо преобразовать ваш index.html в файл php и добавить проверку для вошедшего в систему пользователя.

Вы должны прочитать немного больше о php и, возможно, прочитать несколько уроков по простой системе входа в php: https://www.google.de/search?q=php+simple+login+system

1

Другие решения

Вам нужно использовать php-код в индексе.HTML PHP

Более конкретно: сессии

Я вижу, вы уже используете session_start(); на этой странице. Также используйте его на index.php, а затем приступайте к изучению / использованию сессий.

НЕ ПО ТЕМЕ:

  • Вы открыты для MySQL инъекции.
  • Не используйте MySQL вместо MySQL или PDO
  • Не храните пароли в виде простого текста. Хеш их и тд …(Просто Google, как хранить пароли в базе данных).
  • У вас есть много опечаток (я полагаю), как:

    echo "Niet goed ingelogd. Keer alstubliefdt terug naar de vorige pagina.";

    и (возможно):

    header('location: foumelding.php'); не должно ли это быть: header('location: foutmelding.php');?

    а также:

    <td align="center">Inlogggen</td> не должно ли это быть: <td align="center">Inloggen</td>?

0

По вопросам рекламы [email protected]