PHP логин от ничего не показывает - PullRequest
0 голосов
/ 20 сентября 2018

Ничего не отображается при нажатии кнопки отправки.Соединение с базой данных и имя поля базы данных корректно работает на странице регистрации, но не на этой странице.

Соединение с базой данных находится в connect.php, который включен в php

<html>

<head>
    <title> Login </title>
</head>

<body>
        <form action="login.php" METHOD="POST" enctype="multipart/form-data" >
                <table border="1px" align="center">
                    <tr>
                    <td colspan="5" align="center"> Login </td>
                    </tr>
                    <tr>
                    <td> Email : </td>
                    <td> <input type=text name = email /> </td>
                    </tr>
                    <tr>
                    <td> Password : </td>
                    <td> <input type=password name = password /> </td>
                    </tr>
                    <tr>
                    <td colspan="5" align="right"> <input type=submit name=submit /> </td>
                    </tr>
                </table>
        </form>
</body>

PHP-код в том же файле

<? php

include("includes/connect.php");

    if(isset($_POST['submit']))
    {
        $post_email = $_POST['email'];
        $post_password = $_POST['password'];


        if($post_email == '' or $post_password == '')
        {
            echo("Enter Something");
            exit();
        }

        else
        {
            $sql = " SELECT * FROM reg2 WHERE Email='$post_email' AND Password='$post_password' " ;
            $result = mysql_query($sql);


            if(mysql_num_rows($result) == 1)
            {
                echo "Login Success";
            }

            else
            {
                echo "Login fail";
            }
        }

    mysql_close();
    }

?>

1 Ответ

0 голосов
/ 20 сентября 2018

Есть несколько небольших причин, по которым этот код не работает.Несколько серьезных причин, по которым это не следует использовать для производства.

Сначала вы заявили, что PHP находится на той же странице, нет необходимости перезагружать страницу, если вы используете echo для передачи результатов.Удалите действие из вашей формы.

<form method="post" enctype="multipart/form-data" >

Второе объявление ваши кавычки для ваших типов ввода и имен.

<input type="text" name = "email" />
<input type="password" name = "password" />
<input type="submit" name="submit" />

В-третьих, чтобы открыть блок PHP сделать это

<?php 

not

<? php  

Удалите пробел.

Примечание: я не знаю, как настроена ваша БД или ваша БД подключается из вашего включаемого файла, так что это то, что я вижу изкод, который вы опубликовали.

сейчас Причина, по которой вы не должны использовать этот код для производства.

Ваши данные нуждаются в обработке.

Вам необходимо использовать Mysqli или PDO вместоMysql, потому что Mysql обесценивается.http://php.net/manual/en/function.mysql-query.php

Использовать подготовленные отчеты.http://php.net/manual/en/mysqli.quickstart.prepared-statements.php

Хэшировать все пароли.Я не вижу хэширования в приведенном выше коде.посмотрите в функцию password_hash ().http://php.net/manual/en/function.password-hash.php

Надеюсь, это немного поможет.

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