CREATE DATA WITH DB FACADE
CREATE DATA WITH DB FACADE
Menabah data pada data abse dengan laravel.
untuk kali ini pembahasanya adalah bagaimana cara membuat create data dengan frame work laravel dan bagaimana membuat form inputan dan validasi apda laravel.
Di laravel menambah data sangantlah mudah tidak perlu membuat panjang - panjang query untuk meninsert data ke data base.
yang peratama ahrus di lalukan buat lah halaman untuk menampilkan data yang sudah kita insert tadi
sebagai contoh saya membuat halaman utama data kelas
<a href="{{url('/create')}}" class="btn alert-primary">Tambah data</a>
Priviewnya seperti gamabr diatas.
url ini diguanakan untuk menuju pada loaksi tertentu. contohnya {{url('/create')}}
maka lokasi tujuanya dalah halaman dengan nama create tadi yitu halaman insert data yang akan di buat.
Setelah itu buatlah pada route:: yaitu di web.php sebagai berikut
Route::get('/', "Kelas@index");
Route::get('/belajar', 'Kelas@index');
Route::get('/create', 'Kelas@create');
(Kelas) kelas ini berasal dari controller yang di buat.
Setelah itu kita buat fungsi create pada controller Kelas.
public function create()
{
return view('kelas.form');
}
nah pada fungsi create ini berfungsi sebagai ketika url button yang di buat di klik maka akan menuju function create dan me return kelas.form, kelas ini sebagai folder tempat menyimpan form untuk meng insert data.
<h1>Form Siswa</h1>
<form action="{{ url('kelas') }}" method="post">
@csrf
<div>
Nama Kelas : <input type="text" name="kelas" value="{{ old('kelas')}}"><br>
</div>
<div>
Nama Jurusan : <input type="text" name="jurusan" value="{{ old('jurusan')}}"><br>
</div>
<div>
Nama Wali Kelas : <input type="text" name="wali_kelas" value="{{ old('wali_kelas')}}"><br>
</div>
<div>
lLokasi ruangan : <input type="text" name="lokasi_ruangan" value="{{ old('lokasi_ruangan')}}"><br>
</div>
<input type="submit" value="Simpan">
</form>
ini sebagai contoh form insert data kelas nya :
action="{{ url('kelas') }}"
pada ction ini mengarah pada kelas, unutk kelas ini kana menuju pada controller dan akan menjalan kan fungsi apda cotrller kelas
@csrf
Setiap request yang memiliki method selain GET (POST, PUT, PATCH, DELETE), syntax diatas wajib digunakan didalam form sebagai fungsi keamanan dari serangan CSRF.
CSRF (Cross-Site Request Forgery) merupakan bentuk eksploitasi website yang dieksekusi atas wewenang korban, tanpa dikehendakinya. CSRF menipu web site melalui request dari user yang dipercaya. Serangan bekerja melalui link atau script pada halaman site yang diakses user.
CSRF (Cross-Site Request Forgery) merupakan bentuk eksploitasi website yang dieksekusi atas wewenang korban, tanpa dikehendakinya. CSRF menipu web site melalui request dari user yang dipercaya. Serangan bekerja melalui link atau script pada halaman site yang diakses user.
value="{{ old('kelas')}}"
nah fungsi utama dari ini adalah contoh naya ketika adata yang di input user gagal maka data yang sebelumnya di input akan tetap ada.
nah fungsi utama dari ini adalah contoh naya ketika adata yang di input user gagal maka data yang sebelumnya di input akan tetap ada.
Setelah itu untuk menagrahkan data dan menginsert data pada data base pertama
buat lah route:: untuk mengarahkanya ke kelas controller.
dan ini function untuk meng insert datanya.
buat lah route:: untuk mengarahkanya ke kelas controller.
Route::post('/kelas', 'Kelas@store');
dan ini function untuk meng insert datanya.
public function store(Request $request)
{
$input = $request->all();
unset($input['_token']);
$status = \DB::table('t_kelas')->insert($input);
if ($status) {
return redirect('/belajar')->with('success','Data Berhasil Ditambahkan');
}else {
return redirect('/kelas/create')->with('error','Data Gagal Ditambahkan');
}
}
nah pada ini adapbila data berhasil di insert maka akan langsung diarahkan ke halaman utama dan jika gagal maka akan tetap berada pada halaman input data.
Selanjutnya ada untuk membaut validasi
untuk validasi ketika data yang di input salah maka akan memunculkan pesan danger!
1. Studi Kasus & Penyelesaianya
Data kelas :
kodinganya :
Kelas controller nya :
untuk Form input Data kelas;
Previewnya :
Insert Data
hasilnya:
Sekian Pembahasan Kali ini Terma Kasihh....
Selanjutnya ada untuk membaut validasi
public function store(Request $request)
{
$rule =
[
'kelas' => 'required',
'jurusan' => 'required',
'wali_kelas' => 'required',
'lokasi_ruangan' => 'required|max:5',
];
$messages = [
'required' => 'Isi Data terlebih dahulu dengan Benar!',
];
$this->validate($request, $rule, $messages);
$input = $request->all();
unset($input['_token']);
$status = \DB::table('t_kelas')->insert($input);
if ($status) {
return redirect('/belajar')->with('success','Data Berhasil Ditambahkan');
}else {
return redirect('/kelas/create')->with('error','Data Gagal Ditambahkan');
}
}
untuk validasi ketika data yang di input salah maka akan memunculkan pesan danger!
1. Studi Kasus & Penyelesaianya
Data kelas :
kodinganya :
<h1>
<p>Tabel Kelas</p>
</h1>
<br>
@if(session('success'))
<div class="alert alert-success">
{{ session('success') }}
</div>
@endif
@if(session('error'))
<div class="alert alert-error">
{{ session('error') }}
</div>
@endif
<br>
<div>
<a href="{{url('/create')}}" class="btn alert-primary">Tambah data</a>
</div>
<br>
{{-- {{ dd($siswa) }} --}}
<table class="table">
<tr>
<th>no</th>
<th>Kelas</th>
<th>Nama Jurusan</th>
<th>Nama Wali</th>
<th>Lokasi Ruangan</th>
</tr>
@foreach ($kelas as $row)
<tr>
<td>{{ $loop->iteration }}</td>
<td>{{ $row->kelas }}</td>
<td>{{ $row->jurusan }} </td>
<td>{{ $row->wali_kelas}} </td>
<td>{{ $row->lokasi_ruangan }}</td>
</tr>
@endforeach
</table>
Kelas controller nya :
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class Kelas extends Controller
{
public function index(){
$data['kelas'] = \DB::table('t_kelas')
->get();
return view('belajar', $data);
}
public function create()
{
return view('kelas.form');
}
public function store(Request $request)
{
$rule =
[
'kelas' => 'required',
'jurusan' => 'required',
'wali_kelas' => 'required',
'lokasi_ruangan' => 'required|max:5',
];
$messages = [
'required' => 'Isi Data terlebih dahulu dengan Benar!',
];
$this->validate($request, $rule, $messages);
$input = $request->all();
unset($input['_token']);
$status = \DB::table('t_kelas')->insert($input);
if ($status) {
return redirect('/belajar')->with('success','Data Berhasil Ditambahkan');
}else {
return redirect('/kelas/create')->with('error','Data Gagal Ditambahkan');
}
}
}
untuk Form input Data kelas;
@if(session('error'))
<div class="alert alert-error">
{{ session('error') }}
</div>
@endif
@if (count($errors) > 0)
<div class="alert alert-danger">
<strong>Perhatian</strong>
<br>
<ul>
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
@endif
<h1>Form Siswa</h1>
<form action="{{ url('kelas') }}" method="post">
@csrf
<div>
Nama Kelas : <input type="text" name="kelas" value="{{ old('kelas')}}"><br>
</div>
<div>
Nama Jurusan : <input type="text" name="jurusan" value="{{ old('jurusan')}}"><br>
</div>
<div>
Nama Wali Kelas : <input type="text" name="wali_kelas" value="{{ old('wali_kelas')}}"><br>
</div>
<div>
lLokasi ruangan : <input type="text" name="lokasi_ruangan" value="{{ old('lokasi_ruangan')}}"><br>
</div>
<input type="submit" value="Simpan">
</form>
Previewnya :
Ketika tidak ada data yang dimasukan :
Data yang Di Masukan Salah
menjalankan {{(old(' '))}}
Data yang sebelumnya di input tetap ada
hasilnya:
Sekian Pembahasan Kali ini Terma Kasihh....
Komentar
Posting Komentar