@Albert1991

Почему ошибка 404 при обработке формы на Slim?

Здравствуйте. Почему-то при отправке формы на Slim ошибка 404. Подскажите, где мог ошибиться, пожалуйста.
<form action="/auth" method="post" >
    <div>
        <label>
            Ваш логин
            <input type="text" name="user[login]" value="<?= htmlspecialchars($user['login'] ?? '') ?>" required>
        </label>
    </div>
    <div>
        <label>
            Subdomain
            <input type="text" name="user[subdomain]" value="<?= htmlspecialchars($user['subdomain'] ?? '') ?>" required>
        </label>
    </div>
    <div>
        <label>
            ApiKey
            <input type="text" name="user[apiKey]" value="<?= htmlspecialchars($user['apiKey'] ?? '') ?>" required>
        </label>
    </div>
    <input type="submit" value="Показать сделки за этот месяц">
</form>


и есть обработчик
<?php

namespace App;

require __DIR__ . '/../vendor/autoload.php';

use Slim\Factory\AppFactory;
use DI\Container;
use function functions\auth;

$container = new Container();
$container->set('renderer', function () {
    return new \Slim\Views\PhpRenderer(__DIR__ . '/../templates');
});
$container->set('flash', function () {
    return new \Slim\Flash\Messages();
});

AppFactory::setContainer($container);
$app = AppFactory::create();
$app->addErrorMiddleware(true, true, true);

$app->get('/', function ($request, $response) {
    return $this->get('renderer')->render($response, 'index.phtml');
});

$app->post('/auth', function ($request, $response) {
    $user = $request->getParsedBodyParam('user');
    $login = $user['login'];
    $subdomain = $user['subdomain'];
    $apiKey = $apiKey['login'];
    if (auth($login, $apiKey, $subdomain)) {
        $this->get('flash')->addMessage('success', 'Авторизация успешна');
    } else {
        $this->get('flash')->addMessage('error', 'Ошибка авторизации');
    }
    return return $response->withHeader('Location', '/')->withStatus(302);
});

$app->run();
  • Вопрос задан
  • 82 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы