laravel框架(完整上传到数据库,不提交图片)(以提交员工信息为例)

第一步:使用PHP终端创建一个名为blog的框架

composer create-project --prefer-dist laravel/laravel blog 7.x

创建好之后,在框架中找到resources目录下的views文件夹,在该文件夹中创建一个名为form.blade.php表单

<!doctype html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <meta name="viewport"
 content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
 <meta http-equiv="X-UA-Compatible" content="ie=edge">
 <title>员工信息</title>
 <!-- 最新版本的 Bootstrap 核心 CSS 文件 -->
 <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css" integrity="sha384-HSMxcRTRxnN+Bdg0JdbxYKrThecOKuH5zCYotlSAcp1+c8xmyTe9GYg1l9a69psu" crossorigin="anonymous">
</head>
<body>
<form class="form-horizontal" enctype="multipart/form-data" method="post" action="add">
 @csrf
 <div class="form-group">
 <label for="inputEmail3" class="col-sm-2 control-label">员工姓名</label>
 <div class="col-sm-10">
 <input type="text" class="form-control" name="username" id="inputEmail3" placeholder="员工姓名">
 </div>
 </div>
 <div class="form-group">
 <label for="inputPassword3" class="col-sm-2 control-label">员工身份证号</label>
 <div class="col-sm-10">
 <input type="text" class="form-control" name="usercard" id="inputPassword3" placeholder="员工身份证号">
 </div>
 </div>
 <div class="form-group">
 <label for="inputPassword3" class="col-sm-2 control-label">员工手机号</label>
 <div class="col-sm-10">
 <input type="text" class="form-control" name="usertel" id="inputPassword3" placeholder="员工手机号">
 </div>
 </div>
 <div class="form-group">
 <div class="col-sm-offset-2 col-sm-10">
 <button type="submit" class="btn btn-default">添加</button>
 </div>
 </div>
</form>
</body>
</html>
@if($errors->any())
 @foreach($errors->all() as $value)
 <p>{{ $value }}</p>
 @endforeach
 @endif

该页面里的@csrf是为了不让页面出现419

 

下面这个是进行验证form表单里面的非空或者进行正则验证的时候,出现错误在表单下面提示错误

@if($errors->any())
 @foreach($errors->all() as $value)
 <p>{{ $value }}</p>
 @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 "<script>alert('添加成功');location.href='show'</script>";
 }
 return "<script>alert('失败');location.href='form'</script>";
 }
 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 "<script>alert('删除成功');location.href='show'</script>";
 }
 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展示页面文件

<!doctype html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <meta name="viewport"
 content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
 <meta http-equiv="X-UA-Compatible" content="ie=edge">
 <title>Document</title>
</head>
<body>
<table border="1">
 <tr>
 <td>id</td>
 <td>员工姓名</td>
 <td>员工身份证</td>
 <td>员工手机号</td>
 <td>操作</td>
 </tr>
 @foreach($arr as $value)
 <tr>
 <td>{{ $value['id'] }}</td>
 <td>{{ $value['username'] }}</td>
 <td>{{ $value['usercard'] }}</td>
 <td>{{ $value['usertel'] }}</td>
 <td>
 <a href="delect?id={{ $value['id'] }}">删除</a>
 </td>
 </tr>
 @endforeach
</table>
</body>
</html>

 

作者:还好阿卡原文地址:https://www.cnblogs.com/Boboschen/p/16378579.html

%s 个评论

要回复文章请先登录注册