Прежде всего, английский не является моим родным языком, и уже поздно, и я ищу это с полудня. Поэтому, пожалуйста, будьте снисходительны.Форма входа в систему: нет перенаправления разрешенных страниц
У меня проблема с простой формой входа. Ну, это Войти форма настолько проста, что я думал, что не было никаких проблем ...
Что я сделал: Итак, я создал страницу index.php, который содержит регистрационную форму. При отправке сценарий проверяет, заполнены ли поля, подключитесь к БД, проверьте с данными в БД, и если пароль и логин верны, он начинает $ _SESSION и заполняет $ _SESSION ['login]. Затем он перенаправляет пользователя на страницу с содержимым бэк-офиса, с помощью session_start и проверки на $ _SESSION ['login']. Теоретически это сработает.
Но нет.
Что вопрос: , когда я ввести информацию в регистрационной форме и отправить его, ту же перезагрузки страницы и не перенаправляет меня на страницу BackOffice. ZERO ОШИБКА запускаемых
Мои коды: index.php
<?php
include('functions.php');
login();
?>
<!DOCTYPE html>
<head>
...
</head>
<body>
<div id="main">
<h2>Authentification</h2>
<form name="iam" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>" >
<label for="login" class="iconic comment"> Login <span class="required">* </span>
</label>
<input type="text" required="required" name="login" id="login">
<label for="mdp" class="iconic comment"> Password <span class="required">* </span>
</label>
<input type="password" required="required" name="mdp" id="mdp">
<input type="submit" name="Submit" value="Submit">
</form>
</div>
</body> </html>
Логин() в functions.php:
<?php
include_once('conf/connec.php');
$connect_db=connect();
function login() {
if(isset($_POST['Submit'])) {
if(!empty($_POST['login']) && !empty($_POST['mdp'])) {
$query = mysql_query("SELECT mdp, login FROM 2K13_id WHERE login = '".md5($_POST['login'])."'");
if(mysql_num_rows($query) == 1) {
$user = mysql_fetch_object($query);
// On vérifie la concordance des mots de passe (en md5)
if(md5($_POST['mdp']) == $user->mdp) {
session_start();
$_SESSION['login'] = $user->login;
header("Location:backoffice.php");
} else {
echo 'Mauvais mot de passe pour cet utilisateur.';
}
} else {
echo 'Ce login n\'existe pas dans notre base.';
}
} else {
echo 'Vous devez remplir tous les champs !';
}
}
}
?>
И сгустка кода перед каждым HTML в моем backoffice.php:
<?php
session_start();
if(!isset($_SESSION['login'])) {
die("NO PASARAN");
}
Я действительно не знаю, почему я оборачиваюсь: я проверил все пароли и логин, каждый заголовок. (Для того, чтобы избежать проблем с-плюсом заголовка, я даже пытаться с грязного JS включения
echo '<script>document.location = "backoffice.php"</script>';
Я немного отчаяния, так что, если вы могли бы мне помочь или просто включить свет на возможную ошибку ошибка/PHP, я был бы полностью благодарен.
Спасибо!
Привет @Marko, спасибо за ваше время и ваш ответ, я закрыл свои теги ввода (_even, если не закрывать их, это новый способ записи в HTML5_) , и я проверил: 'if': он введен. Я проверил, не писал ли я свой номер с некоторым пространством, или если я вызываю Html перед заголовком: nope ... Итак, я понятия не имею, почему мой файл не зашифрован ... но спасибо за предложения! – Gaelle
и вы пробовали с абсолютным URL? –
есть. С правильным путем. Не работает.Может ли это произойти от моего хоста, не допуская перенаправления заголовка? – Gaelle