I got an error while I was developing my web it says ‘The POST method is not supported for route pendaftaran. Supported methods: GET, HEAD.’
Please help, I tried clearing the route cache but it’s still not working it’s still a method not allowed for this code.
I use PHP 8.12 and laravel 11
Controller :
<?php
namespace AppHttpControllers;
use IlluminateHttpRedirectResponse;
use IlluminateHttpRequest;
use AppModelsPemohon;
class PendaftaranController extends Controller
{
public function index() {
return view('pendaftaran.index', [
"title" => "Formulir Pemohon SKCK Baru",
'css' => 'pendaftaran.css',
]);
}
public function store(Request $request): RedirectResponse
$request->validate([
'nik' => 'nullable|string|max:16',
'nama' => 'required|string|max:255',
'email' => 'required|email:dns|max:255',
'no_hp' => 'required|string|max:15',
'jenis_kelamin' => 'required|in:Laki-Laki,Perempuan',
'kebangsaan' => 'required|string|max:255',
'agama' => 'required|string|max:255',
'tempat_lahir' => 'required|string|max:255',
'tanggal_lahir' => 'required|date',
'tempat_tinggal' => 'required|string|max:255',
'pekerjaan' => 'required|string|max:255',
'no_paspor' => 'required|string|max:20',
'sidik_jari' => 'required|string|max:255',
'keperluan' => 'required|string|max:255',
]);
Pemohon::create($request->all());
return redirect()->route('pendaftaran.index')->with('Sukses', 'Data Berhasil Diajukan.');
}
}
`
Model :
`
<?php
namespace AppModels;
use IlluminateDatabaseEloquentFactoriesHasFactory;
use IlluminateDatabaseEloquentModel;
use IlluminateDatabaseEloquentConcernsHasAttributes;
class Pemohon extends Model
{
use HasFactory, HasAttributes;
protected $table = 'pendaftaran';
protected $primaryKey = 'nik';
protected $fillable = [
'nik',
'nama',
'email',
'no_hp',
'jenis_kelamin',
'kebangsaan',
'agama',
'tempat_lahir',
'tanggal_lahir',
'tempat_tinggal',
'pekerjaan',
'no_paspor',
'sidik_jari',
'keperluan',
];
}
View :
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{{ $title }}</title>
<!-- Bootstrap CSS -->
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css" rel="stylesheet">
</head>
<body>
<div class="container mt-2">
<div class="card border-0">
<div class="card-header text-center">
<h4>{{ $title }}</h4>
</div>
<div class="card-body">
<form method="Post" action="{{ url('/pendaftaran/store')}}" enctype="multipart/form-data">
@csrf
<div class="form-group">
<label for="nama">Nama</label>
<input type="text" class="form-control" id="nama" name="nama">
@error('nama')
<div class="alert alert-danger">{{ $message }}</div>
@enderror
</div>
<div class="form-group">
<label for="email">Email</label>
<input type="email" class="form-control" id="email" name="email">
@error('email')
<div class="alert alert-danger">{{ $message }}</div>
@enderror
</div>
<div class="form-group">
<label for="no_hp">No. Hp</label>
<input type="tel" class="form-control" id="no_hp" name="no_hp">
@error('no_hp')
<div class="alert alert-danger">{{ $message }}</div>
@enderror
</div>
<div class="form-group">
<label>Jenis Kelamin</label><br>
<div class="form-check form-check-inline">
<input class="form-check-input" type="radio" id="jenis_kelamin_laki_laki" name="jenis_kelamin"
value="Laki-Laki">
<label class="form-check-label" for="jenis_kelamin_laki_laki">Laki-Laki</label>
</div>
<div class="form-check form-check-inline">
<input class="form-check-input" type="radio" id="jenis_kelamin_perempuan" name="jenis_kelamin"
value="Perempuan">
<label class="form-check-label" for="jenis_kelamin_perempuan">Perempuan</label>
</div>
@error('jenis_kelamin')
<div class="alert alert-danger">{{ $message }}</div>
@enderror
</div>
<div class="form-group">
<label for="kebangsaan">Kebangsaan</label>
<input type="text" class="form-control" id="kebangsaan" name="kebangsaan">
@error('kebangsaan')
<div class="alert alert-danger">{{ $message }}</div>
@enderror
</div>
<div class="form-group">
<label for="agama">Agama</label>
<input type="text" class="form-control" id="agama" name="agama">
@error('agama')
<div class="alert alert-danger">{{ $message }}</div>
@enderror
</div>
<div class="form-group">
<label for="tempat_lahir">Tempat Tanggal Lahir</label>
<input type="text" class="form-control mb-2" id="tempat_lahir" name="tempat_lahir">
<input type="date" class="form-control" id="tanggal_lahir" name="tanggal_lahir">
@error('tempat_lahir')
<div class="alert alert-danger">{{ $message }}</div>
@enderror
@error('tanggal_lahir')
<div class="alert alert-danger">{{ $message }}</div>
@enderror
</div>
<div class="form-group">
<label for="tempat_tinggal">Tempat Tinggal Sekarang</label>
<input type="text" class="form-control" id="tempat_tinggal" name="tempat_tinggal">
@error('tempat_tinggal')
<div class="alert alert-danger">{{ $message }}</div>
@enderror
</div>
<div class="form-group">
<label for="pekerjaan">Pekerjaan</label>
<input type="text" class="form-control" id="pekerjaan" name="pekerjaan">
@error('pekerjaan')
<div class="alert alert-danger">{{ $message }}</div>
@enderror
</div>
<div class="form-group">
<label for="nik">Nomor KTP (NIK)</label>
<input type="text" class="form-control" id="nik" name="nik" maxlength="16">
@error('nik')
<div class="alert alert-danger">{{ $message }}</div>
@enderror
</div>
<div class="form-group">
<label for="no_paspor">Nomor Paspor/KITAS/KITAP</label>
<input type="text" class="form-control" id="no_paspor" name="no_paspor">
@error('no_paspor')
<div class="alert alert-danger">{{ $message }}</div>
@enderror
</div>
<div class="form-group">
<label for="rumus_jari">Rumus Sidik Jari</label>
<input type="text" class="form-control" id="rumus_jari" name="rumus_jari">
@error('rumus_jari')
<div class="alert alert-danger">{{ $message }}</div>
@enderror
</div>
<div class="form-group">
<label for="keperluan">Untuk Keperluan</label>
<select class="form-control" id="keperluan" name="keperluan">
<option value="Pekerjaan">Pekerjaan</option>
<option value="Sekolah">Sekolah</option>
<!-- Tambahkan opsi lain di sini -->
</select>
</div>
<div class="form-group d-flex justify-content-between">
<button type="submit" class="btn btn-success" id="confirm-save">Simpan</button>
<button type="button" class="btn btn-danger" id="confirm-back">Kembali</button>
</div>
</form>
</div>
</div>
</div>
<!-- Modal for Save Confirmation -->
<div class="modal fade" id="saveModal" tabindex="-1" role="dialog" aria-labelledby="saveModalLabel" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="saveModalLabel">Konfirmasi</h5>
</div>
<div class="modal-body">
Apakah Data Sudah Sesuai?
</div>
<div class="modal-footer">
<button type="button" class="btn btn-success" data-dismiss="modal">Edit Data</button>
<button type="button" class="btn btn-primary" id="save-button">Ajukan</button>
</div>
</div>
</div>
</div>
<!-- Modal for Back Confirmation -->
<div class="modal fade" id="backModal" tabindex="-1" role="dialog" aria-labelledby="backModalLabel" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="backModalLabel">Konfirmasi Kembali</h5>
</div>
<div class="modal-body">
Apakah Anda yakin ingin kembali? Data yang belum disimpan akan hilang.
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Batal</button>
<a href=".." class="btn btn-danger">Kembali</a>
</div>
</div>
</div>
</div>
<!-- Modal for Submission Confirmation -->
<div class="modal fade" id="submissionModal" tabindex="-1" role="dialog" aria-labelledby="submissionModalLabel"
aria-hidden="true">
<div class="modal-dialog modal-dialog-centered" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="submissionModalLabel">Pengajuan Berhasil</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body text-center">
<h4>Data Anda Telah Diajukan</h4>
<img src="https://img.icons8.com/ios-filled/50/28a745/checkmark.png" alt="Checkmark"
style="width: 50px; height: 50px;">
</div>
<div class="modal-footer">
<button type="button" class="btn btn-primary" data-dismiss="modal">Tutup</button>
</div>
</div>
</div>
</div>
<!-- Bootstrap JS and dependencies -->
<script src="https://code.jquery.com/jquery-3.5.1.min.js"></script>
<script src="https://code.jquery.com/jquery-3.5.1.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/@popperjs/[email protected]/dist/umd/popper.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js"></script>
<script>
$(document).ready(function () {
$('#confirm-save').on('click', function () {
$('#saveModal').modal('show');
});
$('#confirm-back').on('click', function () {
$('#backModal').modal('show');
});
$('#save-button').on('click', function () {
$.ajax({
url: $('#skck-form').attr('action'),
type: 'POST',
data: $('#skck-form').serialize(),
success: function (response) {
$('#saveModal').modal('hide');
$('#submissionModal').modal('show');
},
error: function (xhr) {
// Handle errors here
alert('Something went wrong. Please try again.');
}
});
});
});
</script>
</body>
</html>
route :
<?php
use IlluminateSupportFacadesRoute;
use AppHttpControllersPendaftaranController;
Route::get('/', function () {
return view('home', [
"title" => "Pelayanan Pemohon Online Polsek Cilawu",
'css' => 'home.css',
'img' => 'polri.png',
'img2' => 'intelkam.png',
'button' => 'Daftar Pemohon Baru',
'button2' => 'Perpanjangan Pemohon'
]);
});
Route::get('/perpanjangan', function () {
return view('perpanjangan.index', [
"title" => "Formulir Perpanjangan SKCK",
'css' => 'pendaftaran.css',
]);
});
Route::Get('/pendaftaran', [PendaftaranController::class, 'index'])->name('pendaftaran.index');
Route::Post('/pendaftaran/store', [PendaftaranController::class, 'store'])->name('pendaftaran.store');
VinnZX is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
I see your pendaftaran route is set GET request and you may be sending POST request to it. maybe you are sending POST request to pendaftaran instead of pendaftaran/store which is set for POST request. please check that.
nabin sademba is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.