2015-12-19 2 views
0

Я пытаюсь использовать эту форму для входа (http://codepen.io/reidark/pen/uAmey) в свой проект, но мне нужна небольшая помощь с одной вещью.PHP - Форма входа - Показать сообщение об ошибке, если логин недействителен

Мне нужен мой скрипт, чтобы показать сообщение goodboy в этом зеленом поле в форме входа в систему, когда действительное имя пользователя и пароль отправляются, а затем перенаправляются на другую страницу, когда недопустимые учетные данные отправлены -> сообщение об ошибке в том же поле.

Это, вероятно, самая значительная часть моего кода:

<?php 

$login = ($_POST['login']); 
$password = ($_POST['password']); 

$password = md5($password); 

$login_def = "admin"; 
$password_def = "c4025c6fb582e687b11738a1fb416993"; 


?> 

<form class="login" action="?page=login" method="POST"> 

    <fieldset> 

    <legend class="legend">Login</legend> 

    <div class="input"> 
     <input type="text" placeholder="Login" name="login" required /> 
     <span><i class="fa fa-envelope-o"></i></span> 
    </div> 

    <div class="input"> 
     <input type="password" placeholder="Password" name="password" required /> 
     <span><i class="fa fa-lock"></i></span> 
    </div> 

    <button type="submit" class="submit"><i class="fa fa-long-arrow-right"></i></button> 

    </fieldset> 

<?php 
    if($login == $login_def && $password == $password_def){ 
     session_start(); 
     $_SESSION['loggedin'] = $login; 

     echo ' 
      <div class="feedback"> 
       Login success <br /> 
       redirecting... 
      </div> 
     '; 
     echo "<script>window.location='index.php?page=projects'</script>"; 
} 

    else{ 
     echo ' 
      <div class="feedback"> 
       Wrong username or password. <br /> 
       Please check the fields above. 
      </div> 
     ';  
    } 
?> 

</form> 

Но каждый раз, когда я отправить неправильные данные, страница просто перезагружается и нет сообщения (↑ обратной связи) показан. Не могли бы вы рассказать мне, пожалуйста, где я ошибся? Большое вам спасибо за это.

+0

Ваш код широко открыт для заражения sql. Вам следует избегать ввода всех пользователей – SuperDJ

+0

@SuperDJ sql what ?, в этом коде нет sql. – jmattheis

ответ

0
<?php 
$login = ($_POST['login']); 
$password = ($_POST['password']); 
$password = md5($password); 
$login_def = "admin"; 
$password_def = "c4025c6fb582e687b11738a1fb416993"; 
?> 
<form class="login" action="?page=login" method="POST"> 
    <fieldset> 
     <legend class="legend">Login</legend> 
     <div class="input"> 
      <input type="text" placeholder="Login" name="login" required /> 
      <span><i class="fa fa-envelope-o"></i></span> 
     </div> 
     <div class="input"> 
      <input type="password" placeholder="Password" name="password" required /> 
      <span><i class="fa fa-lock"></i></span> 
     </div> 
     <button type="submit" class="submit"><i class="fa fa-long-arrow-right"></i></button> 
    </fieldset> 
    <?php 
    if (isset($_POST['login']) && isset($_POST['password'])) { 
     if ($login == $login_def && $password == $password_def) { 
      session_start(); 
      $_SESSION['loggedin'] = $login; 
      echo '<div class="feedback">Login success <br />redirecting...</div>'; 
      echo "<script>window.location='index.php?page=projects'</script>"; 
     } else { 
      echo '<div class="feedback">Wrong username or password. <br />Please check the fields above.</div>'; 
     } 
    } 
    ?> 
</form> 

Приведенный выше код работает нормально в моем локальном хосте.

Смежные вопросы