第一步:使用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>

laravel框架(完整上传到数据库,不提交图片)(以提交员工信息为例)的更多相关文章

  1. laravel框架图片上传

    1.建控制器方法 2.建立路由 绑定控制器方法 3.进行图片上传的配置 修改图片上传的路径 a) config/filesystems.php 修改disks->local->root(图 ...

  2. laravel之文件上传

    laravel框架中的文件上传我们应该如何实现此功能呢? 之前也是没有使用过laravel的文件上传功能,后来在网上找到一些教程,五花八门.让我看起来有点头疼. 有时候找到测试浪费好长时间最后还是出不 ...

  3. ssh框架文件上传下载

    <!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  4. C# winform 窗体应用程序之图片上传Oracle数据库保存字段BLOB

    C# winform 窗体应用程序之图片上传Oracle数据库保存字段BLOB 我用的数据库是Oracle,就目前来看,许多数据库现在都倾向于Oracle数据库,对ORACLE数据库基本的操作也是必须 ...

  5. 第二百七十三节,Tornado框架-文件上传

    Tornado框架-文件上传 第一.普通表单上传文件 self.request.files["fafafa"] 获取上传文件信息,参数["上传文件框的name名称&quo ...

  6. Laravel 5 - 文件上传

    一.简介 Laravel 有很棒的文件系统抽象层,是基于 Frank de Jonge 的 Flysystem 扩展包. Laravel 集成的 Flysystem 提供了简单的接口,可以操作本地端空 ...

  7. ci框架读取上传的excel文件数据

    原文链接: https://blog.csdn.net/qq_38148394/article/details/87921373 此功能实现使用到PHPExcel类库,PHPExcel是一个PHP类库 ...

  8. java使用Jsch实现远程操作linux服务器进行文件上传、下载,删除和显示目录信息

    1.java使用Jsch实现远程操作linux服务器进行文件上传.下载,删除和显示目录信息. 参考链接:https://www.cnblogs.com/longyg/archive/2012/06/2 ...

  9. 项目总结07:JS图片的上传预览和表单提交(FileReader()方法)

    JS图片的上传预览和表单提交(FileReader()方法) 一开始没有搞明白下面这块代码的,今天有时间简单整理下 核心点:FileReader()方法 以下是代码(以JSP文件为例) <!DO ...

随机推荐

  1. [WUSTCTF2020]颜值成绩查询-1

    分享下自己在完成[WUSTCTF2020]颜值成绩查询-1关卡的手工过程和自动化脚本. 1.通过payload:1,payload:1 ,payload:1 or 1=1--+,进行判断是否存在注入, ...

  2. node.js的express模块实现GET和POST请求

    一.环境 1.安装express npm i express@4.17.1 // 安装express模块 2.安装nodemon npm i nodemon -g 3.安装cors npm insta ...

  3. .NET中按预定顺序执行任务

    更新记录 本文迁移自Panda666原博客,原发布时间:2021年7月1日. 一.说明 在.NET中线程可以定义按先后顺序进行执行,适合部分有先后次序的业务逻辑.Task也可以按照预定义的先后顺序执行 ...

  4. 皓远的第二次博客作业(最新pta集,链表练习及期中考试总结)

    前言: 知识点运用:正则表达式,有关图形设计计算的表达式和算法,链表的相关知识,Java类的基础运用,继承.容器与多态. 题量:相较于上次作业,这几周在java方面的练习花了更多的精力和时间,所要完成 ...

  5. JVM学习笔记-从底层了解程序运行(二)

    解决JVM运行中的问题 一个案例理解常用工具 测试代码: /** * 从数据库中读取信用数据,套用模型,并把结果进行记录和传输 */ public class T15_FullGC_Problem01 ...

  6. 关键字——this,super,static,final

    this 理解为当前对象. //测试 public static void main(String[] args){ Person person = new Person(3, "xiaoM ...

  7. 分布式机器学习:同步并行SGD算法的实现与复杂度分析(PySpark)

    1 分布式机器学习概述 大规模机器学习训练常面临计算量大.训练数据大(单机存不下).模型规模大的问题,对此分布式机器学习是一个很好的解决方案. 1)对于计算量大的问题,分布式多机并行运算可以基本解决. ...

  8. Servlet 之 Http协议

    请求消息数据格式 请求行  请求方式 请求url 请求协议或者版本 (GET    /login.html   HTTP/1.1) 请求头 请求头名称:请求头值 多个用逗号分隔 请求空行  空行分隔作 ...

  9. NC14585 大吉大利,今晚吃鸡

    NC14585 大吉大利,今晚吃鸡 题目 题目描述 糖和抖m在玩个游戏,规定谁输了就要请谁吃顿大餐:抖m给糖a b c三个驻, 并在a柱上放置了数量为n的圆盘,圆盘的大小从上到下依次增大,现在要做的事 ...

  10. 【Azure Developer】记录一次使用Java Azure Key Vault Secret示例代码生成的Jar包,单独运行出现 no main manifest attribute, in target/demo-1.0-SNAPSHOT.jar 错误消息

    问题描述 创建一个Java Console程序,用于使用Azure Key Vault Secret.在VS Code中能正常Debug,但是通过mvn clean package打包为jar文件后, ...