HTML-форма не отправляет запрос POST - PullRequest
0 голосов
/ 08 мая 2019

Я пытаюсь отправить запрос на публикацию в свой файл из html-формы, и он не получает никаких данных, но в то же время он работает, когда я делаю пост-запрос через приложение для ПК Postman.Каждый щелчок по кнопке отправки просто обновляет страницу и ничего не происходит, я также пытался проверить данные с помощью php // input и $ _request, ни один из них не получил никаких данных.Не знаю, но возможно, что проблема возникла после добавления https на сервер, я также пытался отправить запрос на разные пути / панель и https://mysite/panel.html Спасибо за любую помощь!

my page.html

<?php 
require 'db.php';

$data = $_POST;

if( isset($data['email']) ){ //PHP stops here, because var_dump($data); is always empty array
    $user = R::findOne('users', 'email = ?', array($data['email']));
    if( $user ){
        if( $data['password'] == $user->password){
            $_SESSION['logged'] = $user;
            echo '<div class="black">Добро пожаловать в админ-панель</div><br>';
        }else{
            echo '<div class="black">Не верный пароль</div><br>'; //wrong password
            echo $user->password;
        }
    }else{
        echo '<div class="black">Не верный email</div><br>'; //wrong email
    }

}

if($_SESSION['logged']) 
{
?>
//some html content
<?php
} else { 

?>

    <div class="p-x-1 p-y-3">
        <form class="card card-block m-x-auto bg-faded form-width" action="https://mysite/panel.html" method="post">
            <legend class="m-b-1 text-xs-center">Авторизация</legend>
            <div class="form-group input-group">
                <span class="input-group-addon">@</span>
                <span class="has-float-label">
                    <input class="form-control"  name="email" type="email" placeholder="name@example.com" required>
                    <label for="email">E-mail</label>
                </span>
            </div>
            <div class="form-group has-float-label">
                <input class="form-control" name="password" type="password" placeholder="••••••••" required>
                <label for="password">Пароль</label>
            </div>

            <div class="text-xs-center">
                <input class="btn btn-block btn-primary" type="submit" name="do_login" value="Войти">
            </div>
        </form>
    </div>

    <?php 
} 
?>
    <script src="js/jquery-1.11.0.min.js"></script>
    <script src="js/panel.js"></script>

</body>

</html>

my .htaccess

RewriteEngine On
# Выполняем PHP в html файлах
AddHandler fcgid-script .php .phtml .html .htm
FCGIWrapper /var/www/u0475852/data/php-bin/php .php
FCGIWrapper /var/www/u0475852/data/php-bin/php .phtml
FCGIWrapper /var/www/u0475852/data/php-bin/php .html
FCGIWrapper /var/www/u0475852/data/php-bin/php .htm
# редирект с www
RewriteCond %{HTTP_HOST} ^www\.(.*)$
RewriteRule ^(.*)$ http://%1/$1 [L,R=301]
# Делаем редирект со слешем на без слеша
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (.+)/$
RewriteRule ^ %1 [R=301,L]
# Убираем html 
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.html -f
RewriteRule ^.*$ $0.html [L,QSA]
RewriteCond %{THE_REQUEST} ([^\s]*)\.html(\?[^\s]*)?
RewriteRule (.*) %1 [R=301,L]
# Редирект с http на https
RewriteCond %{HTTPS} !=on
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [R,L]

1 Ответ

0 голосов
/ 08 мая 2019

Да, я был прав, проблема была в https, исключая путем установки параметра action = "" с https://mysite/panel (без .html)

...