# Html 頁面
~~~
{extend name='/father/index' /}
{block name='nave'}
<nav role="navigation" class="navbar navbar-default">
<div class="container">
<div class="row">
<div class="col-sm-12" >
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#example-navbar-collapse">
<span class="sr-only">切換導航</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
</div>
<div class="collapse navbar-collapse" id="example-navbar-collapse">
<ul class="_menu" >
<li ><a href="index.html">首頁</a></li>
<li><a href="">新聞</a></li>
<li><a href="">軍事</a></li>
<li><a href="">娛樂</a></li>
{if session('uid')}
<li >
<div class="dropdown">
<button class="btn btn-success dropdown-toggle" type="button" id="dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
{$Think.session.usename}
</button>
<div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
<a class="dropdown-item" href="">發布文章</a>
<a class="dropdown-item" href="/logout">退出登錄</a>
<a class="dropdown-item" href="#">Something else here</a>
</div>
</div>
</li>
{else/}
<li class="_active"><a href="login">登錄</a></li>
<li ><a href="register">注冊</a></li>
{/if}
</ul>
</div>
</div>
</div>
</div>
</nav>
{/block}
{block name='left'}
<div style="height:600px;width: 1200px">
<main class="col-md-1"></main>
<main class="col-md-10 justify-content-center">
<form method="post" id="register" class="form-horizontal" style="padding-bottom: 0px" >
<div class="card" style="padding-bottom: 100px">
<div class="card-header">
文章添加
</div>
<div class="card-block">
<div class="form-group mt-4 ">
<label class="col-sm-3 control-label">文章標題</label>
<div class="col-sm-7">
<input type="text" name="title" class="form-control" required>
</div>
</div>
</div>
<div class="card-block">
<div class="form-group mt-4 ">
<label class="col-sm-3 control-label">文章欄目</label>
<div class="col-sm-7">
<div class="input-group ">
<select class="custom-select" id="inputGroupSelect01" name="cate_id">
<option selected=""><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">選擇...</font></font></option>
{foreach $categorys as $v}
<option value="{$v['id']}"><font style="vertical-align: inherit;">
<font style="vertical-align: inherit;">{$v['name']}</font></font></option>
{/foreach}
</select>
</div>
</div>
</div>
</div>
<input type="text" hidden name="{$Think.session.uid}">
<div class="card-block">
<div class="form-group mt-4 ">
<label class="col-sm-3 control-label">文章圖片</label>
<div class="col-sm-7">
<div class="input-group ">
<div class="custom-file">
<input type="file" name="title_img" id="title_img" />
</div>
</div>
</div>
</div>
</div>
<div class="card-block">
<div class="form-group mt-4 ">
<label class="col-sm-3 control-label">文章內容</label>
<div class="col-sm-7">
<div id="editormd">
<textarea style="width: 600px;height: 200px;" name="content"></textarea>
</div>
</div>
</div>
</div>
<input type="hidden" name="user_id" value="{$Think.session.uid}">
<div class="text-center ">
<button type="button" class="btn btn-success" id="reg">發布文章</button>
<button type="button" class="btn btn-danger " id="ret">重新輸入</button>
</div>
</div>
</form>
</main>
<main class="col-md-3"></main>
</div>
<div style="padding-bottom: 10px"></div>
<script>
$(function () {
$('#reg').click(function () {
let data = new FormData($("#register")[0]);
$.ajax({
type: 'post',
url: "{:url('/article')}",
data:data,
contentType: false, //不設置內容類型
processData: false, //不處理數據
dataType: 'json',
success: function(data){
if (data.status ==1) {
swal({
text: data.message,
icon: "success",
button: false
});
function success() {
window.location.href= "{:url('index/index')}"
}
setTimeout(success,2000)
}else{
swal({
text: data.message,
icon: "warning",
button: false,
});
}
}
})
})
//表單清空
$('#ret').click(function () {
$('#register')[0].reset();
})
})
</script>
{/block}
~~~
~~~
public function save(Request $request)
{
//
// 獲得前臺提交的數據是否是post提交
if (\think\facade\Request::isPost()){
// 獲得post提交的數據
$date = $request->param();
//調用 article 里面書寫驗證規則
$validata = new \app\index\common\validata\Article();
//把數據傳入驗證規則里面,會返回一個布爾值
$rules = $validata->check($date);
//驗證通過
if ($rules){
//獲取上傳的標題圖片信息
$file = \think\facade\Request::file('title_img'); //獲取file對象
//文件信息驗證與上傳到服務器指定目錄
$info = $file -> validate([
'size'=>5000000000, //文件大小 100萬字節是約等于1M
'ext'=>'jpeg,,png,jpg,gif' //文件擴展名
]) -> move('uploads/'); //移動到public/uploads目錄下面
//圖片驗證規則是否為真
if ($info) {
// 把圖片上傳的路徑存儲到數據表中
$date['title_img'] = $info->getSaveName();
} else {
//規則匹配不對,返回錯誤的信息
return ['status'=>'0','message'=>$file->getError()];
}
// halt($date);
//將數據寫到文檔表中
if(\app\index\model\Article::create($date)){
return ['status'=>'1','message'=>'文章發布成功'];
} else {
return ['status'=>'0','message'=>'文章發布失敗'];
}
}else{
return ['status' => '0','message' => $validata->getError()];
}
} else{
return ['status' => '0','message' => '你請求的方式不正確'];
}
}
~~~
- Tp 框架5.1安裝
- Tp 資源控制器創建跟非資源控制器
- Tp 自定義目錄
- Tp 鏈接傳參,地址欄獲取參數
- Tp ajax 異步提交數據
- Tp 模型里面指定開啟時間戳
- Tp加載驗證碼
- Tp 模版
- Tp 模版繼承
- Tp模版頁面If 條件 及session存儲 取出
- Tp 默認在模版頁面指定內容
- Tp 模版頁面獲取session
- Tp驗證器
- Tp 自定義驗證
- Thinkphp 模型驗證規則使用
- Tp 文件上傳
- Tp 實現注冊自動登錄
- Tp 編輯器
- Tp 結合 Markdown里面的editor編輯器
- Tp Marckdown 編輯模版輸出
- Tp 搜索功能
- Tp 點贊 收藏
- Tp 基本權限
- Tp 創建驗證器
- Sweetalert 彈出框 引用
- Tp 網站 開啟 關閉功能
- Tp 網站 開啟 注冊功能
- Tq QQ登錄
- Tp 郵箱注冊 驗證
- Tp 無限極分類
- Tp 路由
- Tp RBAC權限 適合于任何框架
- 創建權限模型,控制器,驗證規則
- 創建角色 控制器 模型 驗證規則
- 用戶角色設置
- 權限驗證
- Tp auth 權限
- 第一部 auth 安裝
- 第二部 創建 三張數據庫
- 第三部 創建用戶控制器
- 第四部 創建規則表
- 規則表基本操作
- 1 規則頁面加載
- 2 添加規則
- 3 編輯規則
- 4 刪除規則
- 第五部 創建用戶組
- 用戶組基本操作
- 第一步 展示用戶組首頁
- 第二步 添加用戶組
- 第三步 編輯用戶組
- 第四部 刪除用戶組
- 第六步設置權限
- 第一步 創建 模型 控制器
- 第二步 首頁顯示
- 第三部 設置用戶權限
- 第七步 執行權限認證
- 備注 附加規則原理
- Tp 數據庫
- 外鍵約束
- Tp 結合layui 上傳
- Layui 編輯器 前端展示
- Tp 模版eq
- Tp 刪除
- Tp session 處理
- Tp cache緩存方法
- Tp 后臺驗證管理員登錄
- 前臺Nav 導航
- 左邊導航
- Tp 批量刪除
- O2O
- Tp框架插入數據自帶時間戳
- Tp 結合layui 分頁
- Tp 整合百度地圖
- Tp 結合城市三級聯動
- 密碼驗證
- 團購時間
- Tp模板時間修改
- 安卓App 平臺入駐上線
- Api 接口返回
- Thinkphp 生成5.1二維碼
- 回調Api
- layui 關閉框 刷新
- Layui 監聽
- 判斷是否是pc端 手機端
- Lauyi 自動轉換時間
- Tp 增加時間
- ajax 同步 異步處理
- 彈出框
- 傳輸數據編輯
- 上傳 引用 uploadify
- js 收縮
- Tp 增加數據表
- Tp-前置鉤子
- 刪除代碼
- 適合tp5.0描述文字過長
- php 三級城市城市表帶數據
- layu結合 tp table數據數組循環
- layui 解決數據為NUll 錯誤代碼