I have created a form when I submitting it going on 404 : Form file
<div class="container py-5">
<div class="row">
<div class="col-md-10 mx-auto">
<form id="vendor_register" method="POST" autocomplete="off" enctype="multipart/form-data" action="<?= $block->getUrl('vendor/index/post'); ?>">
<?= $block->getBlockHtml('formkey') ?>
<div class="form-group row">
<div class="col-sm-6">
<label for="firstname">First name <span class="text-danger">*</span></label>
<input type="text" class="form-control" name="firstname" id="firstname" data-validate='{"required":true}'>
</div>
<div class="col-sm-6">
<label for="lastname">Last name <span class="text-danger">*</span></label>
<input type="text" class="form-control" name="lastname" id="lastname" data-validate='{"required":true}'>
</div>
</div>
<div class="form-group row">
<div class="col-sm-12">
<div class="actions-toolbar float-right">
<div class="primary">
<button type="submit" class="action submit primary" title="Create an Account">
<span>Create an Account</span>
</button>
</div>
</div>
</div>
</div>
</form>
</div>
</div>
</div>
Controller file
<?php
/**
* Copyright © All rights reserved.
* See COPYING.txt for license details.
*/
declare(strict_types=1);
namespace Test\Works\Controller\Index;
use Magento\Framework\App\Action\HttpPostActionInterface;
use Magento\Framework\Controller\ResultInterface;
use Magento\Framework\View\Result\PageFactory;
class Post implements HttpPostActionInterface
{
/**
* @var PageFactory
*/
protected $resultPageFactory;
/**
* Constructor
*
* @param PageFactory $resultPageFactory
*/
public function __construct(PageFactory $resultPageFactory)
{
$this->resultPageFactory = $resultPageFactory;
}
/**
* Execute view action
*
* @return ResultInterface
*/
public function execute()
{
die("works");
return $this->resultPageFactory->create();
}
}