laravel框架(完整上传到数据库,不提交图片)(以提交员工信息为例)
第一步:使用PHP终端创建一个名为blog的框架
composer create-project --prefer-dist laravel/laravel blog 7.x
创建好之后,在框架中找到resources目录下的views文件夹,在该文件夹中创建一个名为form.blade.php表单
员工信息
@if($errors->any())
@foreach($errors->all() as $value)
{{ $value }}
@endforeach
@endif
该页面里的@csrf是为了不让页面出现419
下面这个是进行验证form表单里面的非空或者进行正则验证的时候,出现错误在表单下面提示错误
@if($errors->any())
@foreach($errors->all() as $value)
{{ $value }}
@endforeach
@endif
接下来在Navicat中创建一个名为2005a(举的例子)的数据库,并在该数据库内创建一个cms的表
下一步,找到.env这个文件,并把数据库名字由原来的laravel改成创建好的2005a,DB_PASSWORD=为默认的root
使用终端创建一个名为UserProfile.php的控制器,控制器存放在框架app目录下Http下Controllers文件夹内
php artisan make:controller UserProfile
使用终端创建一个名为UserModel.php的模型
php artisan make:model UserModel
在模型内连接到表
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class UserModel extends Model
{
//连接2005a数据库里的cms这个表
public $table='cms';
}
控制器内创建方法,并在routes文件夹中的web.php中设置路由
<?php
namespace App\Http\Controllers;
use App\UserModel;
use Illuminate\Http\Request;
class UserProfile extends Controller
{
//添加方法
function add(Request $request){
$request->validate([
'username'=>'required',
'usercard'=>'required',
'usertel'=>'required'
],[
'username.required'=>'员工姓名不能为空',
'usercard.required'=>'员工身份证不能为空',
'usertel.required'=>'员工手机号不能为空'
]);
//接受数据
$param=$request->input();
unset($param['_token']);
//调用模型
$articel=new UserModel();
//添加
$res=$articel->insert($param);
if ($res){
return "";
}
return "";
}
function show(){
$face= new UserModel();
$data=$face->get();
return view('show',['arr'=>$data]);
}
function index_del(Request $request){
$id=$request->input('id');
if (!is_numeric($id)){
return '参数不正确';
}
$articel=new UserModel();
$res=$articel->where('id',$id)->delete();
if ($res){
return "";
}
return redirect('show');
}
}
下面是路由
<?php
use Illuminate\Support\Facades\Route;
/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/
Route::get('/', function () {
return view('welcome');
});
Route::get('form',function (){
return view('form');
});
Route::post('add','UserProfile@add');
Route::get('show','UserProfile@show');
Route::get('delect','UserProfile@index_del');
还有一个展示的页面,和form.blade.php文件在同一个文件夹内,创建一个名为show.blade.php展示页面文件
Document
id
员工姓名
员工身份证
员工手机号
操作
@foreach($arr as $value)
{{ $value['id'] }}
{{ $value['username'] }}
{{ $value['usercard'] }}
{{ $value['usertel'] }}
删除
@endforeach