Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.04.2017, 22:23   #1
brownb
Форумчанин
 
Регистрация: 16.10.2016
Сообщений: 157
По умолчанию Редикет

При неправельно вводе логина и пароля происходит редикет на
header("Location: /admin/index.php");
А как сделать редикет на index3.php при успешной авторизации?

login.php
Код:
<?php
require_once "lib/functions.php";
session_start();
$login = $_POST['login'];
$password = md5($_POST['password']);
if (checkadmin($login,$password)) {
	$_SESSION['login'] = $login;
	$_SESSION['password'] = $password;
	header("Location: /link.php"); 
}
else $_SESSION['error_auth'] = 1;
header("Location: /admin/index.php");
?>
userpanel.php
Код:
<?php
if (checkadmin($_SESSION['login'], $_SESSION['password'])) {
	echo "<center><p> Ky, <b>".$_SESSION['login']."</b>!</center>";
	echo "<centr><br/></centr>";
	echo "<center><p><a href = 'logout.php' title = 'exit'>Exit</a></p></center>";
}
else {
	if ($_SESSION['error_auth'] == 1) {
		echo "<span style='color:red;'>ne pravelno</span>";
		unset($_SESSION['error_auth']);
	}

}

?>
функция
Код:
function  checkadmin ($login,$password) {
	if (($login == "") || ($password == "")) return false;
	$mysqli = connectDB();
	$result_set = $mysqli->query("SELECT password FROM adminuser WHERE login = '$login'");
	$user = $result_set->fetch_assoc();
	$real_password = $user['password'];
	closeDB($mysqli);
	return $real_password == $password;
форма
Код:
<body>
  <section class="container">
    <div class="login">
      <h1>Войти в личный кабинет</h1>
      <form id = 'login' action = 'login.php' method = 'post'>
        <p><input type="text" name="login" value="" placeholder="Логин"></p>
        <p><input type="password" name="password" value="" placeholder="Пароль"></p>
        <p class="remember_me">
        </p>
        <p class="submit"><input type="submit" name="commit" value="Войти"></p>
      </form>
brownb вне форума Ответить с цитированием
Старый 13.04.2017, 11:08   #2
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Цитата:
Сообщение от brownb Посмотреть сообщение
При неправельно вводе логина и пароля происходит редикет на
header("Location: /admin/index.php");
А как сделать редикет на index3.php при успешной авторизации?

login.php
Код:
<?php
require_once "lib/functions.php";
session_start();
$login = $_POST['login'];
$password = md5($_POST['password']);
if (checkadmin($login,$password)) {
	$_SESSION['login'] = $login;
	$_SESSION['password'] = $password;
	header("Location: /link.php"); 
}
else $_SESSION['error_auth'] = 1;
header("Location: /admin/index.php");
?>
Замени "Location: /link.php" на "Location: /index3.php".
И «редирект» – а не «редикет».
Andkorol вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц