By GokiSoft.com|
18:28 30/10/2021|
Học Laravel
[Examination] Bài tập ôn luyện kết thúc môn - Sử dụng Laravel + Ajax
Tags:
Phản hồi từ học viên
5
(Dựa trên đánh giá ngày hôm nay)
![Do Trung Duc [T2008A]](https://www.gravatar.com/avatar/2973ac07124f066b4605c535e8d39a99.jpg?s=80&d=mm&r=g)
Do Trung Duc
2021-07-16 08:06:19
<?php
namespace App\Http\Controllers\Servey;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use DB;
class ServeyController extends Controller
{
public function create(Request $Request)
{
return view('survey.create-form');
}
public function storeForm(Request $Request)
{
$name = $request->name;
$email = $request->email;
$phone = $request->phone;
$feedback = $request->feedback;
if($name != null && $email != null && $phone != null && $feedback != null &&){
DB::table('survey')->insert([
'name' => $name,
'email' => $email,
'phone' => $phone,
'feedback' => $feedback,
]);
$res = [
'mes' => 'Success to save data in database'
];
}else{
$res = [
'mes' => 'Fail to save data in database'
];
}
return json_encode($res);
}
}
![Do Trung Duc [T2008A]](https://www.gravatar.com/avatar/2973ac07124f066b4605c535e8d39a99.jpg?s=80&d=mm&r=g)
Do Trung Duc
2021-07-16 08:06:04
<?php
Route::get('/create', [App\Http\Controllers\Survey\SurveyController::class, 'create']) -> name('creat_survey');
Route::get('/store', [App\Http\Controllers\Survey\SurveyController::class, 'storeForm']) -> name('store_survey');
![Do Trung Duc [T2008A]](https://www.gravatar.com/avatar/2973ac07124f066b4605c535e8d39a99.jpg?s=80&d=mm&r=g)
Do Trung Duc
2021-07-16 08:05:46
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateUsersTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('survey', function (Blueprint $table) {
$table->id();
$table->string('name');
$table->string('email')->unique();
$table->string('phone');
$table->string('feedback');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('survey');
}
}
![Triệu Văn Lăng [T2008A]](https://www.gravatar.com/avatar/1348e3562c6492c26f796cb1f45982a1.jpg?s=80&d=mm&r=g)
Triệu Văn Lăng
2021-07-16 08:04:48
#routeservice
Route::middleware('web')
->namespace($this->namespace)
->group(base_path('routes/survey.php'));
![hainguyen [T2008A]](https://www.gravatar.com/avatar/32855ce6db55d60134d830aee06b41e5.jpg?s=80&d=mm&r=g)
hainguyen
2021-07-16 08:04:42
#2021_07_16_070721_create_fpt_table.php
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateFptTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('fpt', function (Blueprint $table) {
$table->string('StudentName', 100);
$table->string('StudenrEmail', 100);
$table->bigInteger('Telephone');
$table->string('Feedback', 200);
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('fpt');
}
}
#kaosat.php
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Khảo sát sinh viên</title>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.16.0/umd/popper.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js"></script>
</head>
<style type="text/css">
.form-front{
margin-top: 50px;
padding: 50px;
}
</style>
<body>
<div class="container">
<div class="form-front">
<div class="card">
<div class="card-header bg-success text-light">
Bảng khảo sát sinh viên
</div>
<div class="card-body">
<form method="post" id="MyForm">
<div class="form-group group-username">
<label for="username">User Name:</label>
<input required="true" type="text" name="name_username" id="username" class="form-control">
</div>
<div class="form-group group-fullname">
<label for="email">Email:</label>
<input required="true" type="email" name="name_fullname" id="email" class="form-control">
</div>
<div class="form-group">
<label for="Phone">Phone:</label>
<input type="text" name="name_birthday" id="Phone" class="form-control">
</div>
<div class="form-group">
<label for="text">Text:</label>
<input required="true" type="text" name="name_email" id="text" class="form-control">
</div>
<button type="submit" class="btn btn-success" id="btn_save">Send</button>
</form>
</div>
</div>
</div>
</div>
</body>
</html>
#khaosat.blade.php
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Khảo sát sinh viên</title>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.16.0/umd/popper.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js"></script>
</head>
<style type="text/css">
.form-front{
margin-top: 50px;
padding: 50px;
}
</style>
<body>
<div class="container">
<div class="form-front">
<div class="card">
<div class="card-header bg-success text-light">
Bảng khảo sát sinh viên
</div>
<div class="card-body">
<form method="post" id="MyForm">
<div class="form-group group-username">
<label for="username">User Name:</label>
<input required="true" type="text" name="name_username" id="username" class="form-control">
</div>
<div class="form-group group-fullname">
<label for="email">Email:</label>
<input required="true" type="email" name="name_fullname" id="email" class="form-control">
</div>
<div class="form-group">
<label for="Phone">Phone:</label>
<input type="text" name="name_birthday" id="Phone" class="form-control">
</div>
<div class="form-group">
<label for="text">Text:</label>
<input required="true" type="text" name="name_email" id="text" class="form-control">
</div>
<button type="submit" class="btn btn-success" id="btn_save">Send</button>
</form>
</div>
</div>
</div>
</div>
</body>
</html>
#fpt.php
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class fpt extends Model
{
use HasFactory;
protected $table = 'fpt' ;
protected $fillable = [
'StudentName',
'StudentEmail',
'Telephone',
'Telephone',
];
}
![Triệu Văn Lăng [T2008A]](https://www.gravatar.com/avatar/1348e3562c6492c26f796cb1f45982a1.jpg?s=80&d=mm&r=g)
Triệu Văn Lăng
2021-07-16 08:03:07
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateSurveywebTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('surveyweb', function (Blueprint $table) {
$table->id();
$table->string('fullname', 50);
$table->string('email', 150);
$table->string('phonenumber', 15);
$table->string('feedback', 500);
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('surveyweb');
}
}
![Triệu Văn Lăng [T2008A]](https://www.gravatar.com/avatar/1348e3562c6492c26f796cb1f45982a1.jpg?s=80&d=mm&r=g)
Triệu Văn Lăng
2021-07-16 08:00:22
<?php
use Illuminate\Support\Facades\Route;
Route::group(['prefix' => '/survey'],
function () {
Route::get('/index', [App\Http\Controllers\survey\surveyController::class , 'index'])->name('survey_index');
});
![Nguyễn Tuấn Hùng [T2008A]](https://www.gravatar.com/avatar/74c1ca6934aee629f926008762ab4ef5.jpg?s=80&d=mm&r=g)
Nguyễn Tuấn Hùng
2021-07-16 07:59:58
#main.html
<!DOCTYPE html>
<html>
<head>
<title> khảo sát sinh </title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.16.0/umd/popper.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js"></script>
</head>
<body>
<form method="GET" id="survey_data" action="Process_Form.php">
<div class="form-group" style="margin: 10px; padding: 10px;">
<label for="survey">Student Name:</label>
<input type="text" class="form-control" id="Name" placeholder="Name" name="Name">
</div>
<div class="form-group" style="margin: 10px; padding: 10px;">
<label for="survey">Student Email:</label>
<input type="email" class="form-control" id="Email" placeholder="Email" name="Email">
</div>
<div class="form-group" style="margin: 10px; padding: 10px;">
<label for="survey"> Student Phone:</label>
<input type="number" class="form-control" id="phone" placeholder="Phone" name="Phone">
</div>
<div class="form-group" style="margin: 10px; padding: 10px;">
<label for="survey">Feedback:</label>
<input type="text" class="form-control" id="Feedback" placeholder="Feedback" name="Feedback">
</div>
<button class="btn btn-success" id="button_success" style="margin-left: 1500px; padding: 10px;">Xác Nhận</button>
</form>
<script type="text/javascript">
$('#button_success').on('click',function(){
var Name = $('#Name').val();
var Email = $('#Email').val();
var Phone = $('#Phone').val();
var Feedback = $('#Feedback').val();
})
</script>
</body>
</html>
![Bùi Văn Mạnh [T2008A]](https://www.gravatar.com/avatar/17e9c94870c94e61c9203ee31dccf01c.jpg?s=80&d=mm&r=g)
Bùi Văn Mạnh
2021-07-16 07:58:44
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class KhaoSat extends Controller
{
public function index()
{
return view('khaosat');
}
}
![Bùi Văn Mạnh [T2008A]](https://www.gravatar.com/avatar/17e9c94870c94e61c9203ee31dccf01c.jpg?s=80&d=mm&r=g)
Bùi Văn Mạnh
2021-07-16 07:58:33
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class KhaoSat extends Model
{
protected $table = 'categories' ;
protected $key = 'id' ;
protected $fillable = [
'name',
'email',
'phone',
'note',
];
}