У меня есть страница login.php, которую я хочу, чтобы пользователь должен был использовать, когда нажимает на кнопки «Добавить» или «Удалить» в форме html у меня есть (также они не должны оставаться в системе, если они уходят на странице и нажмите «Добавить» или «Удалить», они должны снова войти в систему).моя первая страница входа в систему
В настоящее время у меня он настроен на то, чтобы пользователь был проиндексирован index.php, если они правильно вошли в систему, но я хотел бы удалить это, как только выясню, как заставить их войти для доступа к определенным страницам.
мой login.php код:
<html>
<head>
<title>Login</title> <link rel="stylesheet" type="text/css" href="style.css">
</head>
<body id="body-color">
<div id="Sign-In">
<center><fieldset style="width:30%"><legend>Welcome Please Login Below</legend>
<form method="POST" action="connectivity.php">
Username: <br><input type="text" name="user" size="40"><br>
Password: <br><input type="password" name="pass" size="40">
<br>
<br>
<input id="button" type="submit" name="submit" value="Log-In">
</form>
</center>
</fieldset>
</div>
</body>
</html>
connectivity.php:
<?php
define('DB_HOST', 'localhost');
define('DB_NAME', 'list');
define('DB_USER', 'root');
define('DB_PASSWORD', '****');
$con = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD) or die("Failed to connect to MySQL: " . mysql_error());
$db = mysql_select_db(DB_NAME, $con) or die("Failed to connect to MySQL: " . mysql_error());
/*
$ID = $_POST['user']; $Password = $_POST['pass'];
*/
function SignIn() {
session_start();
if (!empty($_POST['user'])) {
$query = mysql_query("SELECT * FROM UserName where userName = '$_POST[user]' AND pass = '$_POST[pass]'") or die(mysql_error());
$row = mysql_fetch_array($query);
if (!empty($row['userName']) AND ! empty($row['pass'])) {
$_SESSION['userName'] = $row['pass'];
header("Location: index.php");
} else {
header("Location: login.php");
}
}
}
if (isset($_POST['submit'])) {
SignIn();
}
?>
не использовать MySQL, как это рекомендуется. переключитесь на mysqli или PDO. Кроме того, очистите свой ввод до разбора вашего запроса. На ваш вопрос, почему вы не можете проверить действительный сеанс перед отображением своей страницы входа или index.php – Akintunde007
@PhpDev Я не знаю, как это сделать, и я все еще участвую в этом. Это проект, в котором я работаю над тем, чтобы повысить свои навыки в php – RedZ
[** Пожалуйста, не используйте 'mysql_ *' функции в новом коде **) (http://stackoverflow.com/q/12859942). Они больше не поддерживаются [и официально устарели] (https://wiki.php.net/rfc/mysql_deprecation). См. [** красная коробка **] (http://php.net/mysql-connect)? Узнайте о [* подготовленных заявлениях *] (http://en.wikipedia.org/wiki/Prepared_statement) и используйте [PDO] (http://php.net/pdo) или [MySQLi] (http://php.net/mysqli) - [эта статья] (http://php.net/manual/en/mysqlinfo.api.choosing.php) может помочь вам решить, какой из них. – Qirel