Сейчас, пользователь вводит логин и пароль всего 1 раз и все, и это очень, ну очень плохо!
PHP:
скопировать код в буфер обмена
скопировать код в буфер обмена
- <?PHP
- // Соед. с БД
- $conn = @OCILogon('ty', '*', "***");
- if (!$conn) // Соединение не установлено
- {
- $msg = OCIError();
- $error = "Ошибка подключения к БД. " . $msg['message'];
- tmpl_set($template, "error", $error);
- echo tmpl_parse($template);
- exit;
- }
- // Заставляем пользователя аутентифицироваться
- {
- // Выбрал Cancel
- echo 'Доступ запрещен! Пройдите авторизацию';
- exit;
- }
- // Ввёл данные
- // Ищем пользователя с таким именем и паролем
- $stmt_user = OCIParse($conn, "SELECT * FROM users
- WHERE lower(login) = lower(:auth_user)
- AND lower(pwd) = lower(:auth_pw)");
- OCIBindByName($stmt_user, ":auth_user", $_SERVER['PHP_AUTH_USER']);
- OCIBindByName($stmt_user, ":auth_pw", $_SERVER['PHP_AUTH_PW']);
- OCIExecute($stmt_user);
- // Такой пользователь есть?
- if (!OCIFetch($stmt_user))
- {
- // Нет - заставляем вводить данные пока не введут верные
- echo 'Доступ запрещен! Пройдите авторизацию.';
- exit;
- }
- $stmt = OCIParse($conn, "alter session set NLS_NUMERIC_CHARACTERS = '. '");
- OCIExecute($stmt, OCI_DEFAULT);
- ?>