Как создать логин с несколькими паролями - PullRequest
0 голосов
/ 13 июня 2019

Я пробовал это, но это не работает.

HTML:

<form id="login" method="post">
        <input type="text" name="login"><br>
        <input type="password" name="pass">
        <input type="submit">
    </form>

PHP

    $login = "citybank";
    $pass = array("ticket3", "ticket2", "ticket1");

    if(isset($_POST["login"])){

        if($_POST["login"] == $login and $_POST["pass"] == $pass){
            echo 'You are logged';
            echo "

            <script>            
            var post = document.querySelector('#login');
            post.style.display = 'none';
            </script>

            ";
        }else{
            echo "You are not logged.";
        }
    }

Мне кажется, у меня проблема с моим array. Я не знаю, правильно ли это, как я использую.

Спасибо

Ответы [ 3 ]

2 голосов
/ 13 июня 2019

Прежде всего, здесь есть синтаксическая ошибка:

$pass = array("ticket3", "ticket2, "ticket1"); // missing "

Также вы искали значение в массиве, поэтому вы должны использовать in_array () :

<form id="login" method="post">
        <input type="text" name="login"><br>
        <input type="password" name="pass">
        <input type="submit">
    </form>

<?php


    $login = "citybank";
    $pass = array("ticket3", "ticket2", "ticket1");

    if(isset($_POST["login"])){

        if($_POST["login"] == $login and in_array($_POST["pass"], $pass)){
            echo 'You are logged';
            echo "

            <script>
            var post = document.querySelector('#login');
            post.style.display = 'none';
            </script>

            ";
        }else{
            echo "You are not logged.";
        }
    }

?>

Предупреждение: Никогда, никогда не применяйте такую ​​логику входа в систему, если она для теста, то все в порядке, но в производственной среде ЗАПРЕЩЕНО !

Вот пример защищенной системы входа в систему.

2 голосов
/ 13 июня 2019

Вы можете использовать функцию in_array () , чтобы решить вашу проблему. Но вы должны использовать базу данных для хранения пароля.

PHP

$login = "citybank";
$pass = array("ticket3", "ticket2", "ticket1");

if(isset($_POST["login"])){
    if($_POST["login"] == $login && in_array($_POST["pass"], $pass)){
        echo 'You are logged';
        echo "

        <script>            
            var post = document.querySelector('#login');
            post.style.display = 'none';
        </script>

        ";
        }else{
            echo "You are not logged.";
        }
    }
1 голос
/ 13 июня 2019
<?php
    $login = "citybank";
    $pass = array("ticket3", "ticket2", "ticket1");

    if(isset($_POST["login"]))
    {
        $count=0;

        if($_POST["login"] == $login)
        {
            for($i=0;$i<3;$i++)
            {

              if($_POST["pass"] == $pass[$i])
              {
                 {
                    $count=1;
                     echo 'You are logged';
                     echo "
                     <script>            
                     var post = document.querySelector('#login');
                     post.style.display = 'none';
                     </script>
                     ";
                     break;
                 }

               }
            }
            if($count==0)
            {
            echo "You are not logged.";
            }

        }
    }
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...