php 在同一個表單中新增和修改資料 二
好吧,其實我這人不看重訪問量的,但是今天一天的訪問量比我去年發的一篇還要多.
我還是有點小小的驚訝的.作為一個做技術的屌絲.不,我不認為自己是屌絲,我覺得程式設計是一件高大山的職業.雖然很累,但是確實能讓你每天的生活很充實.
No matter whether you believe it or not,anyhow I believe it.
今天接著上一篇來說,我們只是簡單的文章的上傳和修改.
如果涉及到附件呢.在修改的時候如果需要更換附件的時候,這真的是一件很頭痛的事情.
我不知道大家是怎樣實現的.下面我分享一下我的方法吧.
在頁面中我是這樣實現的.
<form method="POST" action="{:U('article/add')}" enctype="multipart/form-data" >
<input type="text" name="title" />
<textarea name="content" ></textarea>
<input type="file" name="file" />
<input type="submit" name="submit" value="submit" />
</form>
我在後臺進行新增操作.
首先我們再開始接收資料.如title,content的內容.判斷內容是否為空,為空直接返回.
如果有我們需要判斷一下是否有附件,如果有附件的話,我們先通過程式將其移動到專案的uploads資料夾中,
如果失敗的話,我們就直接返回了.
好,上程式.
if(IS_POST){
$title = $_POST['title'];
$content = $_POST['content'];
if($title&&$content){
if($_FILES['file']['name'])
//開始對提交的附件進行處理.
如果成功,則可以得到我們附件的名稱和上傳的地址等資訊,看你需要什麼
如果失敗的話
返回錯誤.
}
$arr = array(
'title' => $title,
'content' => $content;
'filename' => ///
'filepath' => ///
);
$flag = 進行插入操作..
if($flag) $str = "成功";
else $str = "失敗";
$this->success("新增".$str,//跳到列表路由中.);
}
}//end of post.
//下面是模板內容....
現在我們如果是要修改該內容的話.
我想到了一個方法..
在頁面中,如果有附件,我們顯示圖片的名稱.如果需要修改,我們就將file的提交框顯示出來..
我只寫關鍵部分了哈..
<if condition="$result[filename]">
<input type="text" name="" value="{$result.filename}" readonly onclick="show_file(this)" />
<input type="file" name="file" style="display:none"/>
<else/>
<input type="file" name="file" />
</if>
<script type="text/javascript">
//這裡我們使用jquery來實現.
function show_file(o){
$this = $(o);
$this.hide();
$this.next().show();
}
</script>
搞定了...這樣在前臺還是比較美觀的吧...
後臺的邏輯有點複雜了..
首先你要判斷是否有附件,如果沒有,你就不能往資料庫裡面寫入空值,如果資料庫裡本來有,現在使用者沒有修改附件,如果統一的往資料庫裡面寫內容.則會覆蓋..
我說下我的思路.
首先還是判斷title,content是否為空.
如果不為空,判斷是否有附件,如果有附件,我們就進行統一的接收操作.
if(IS_POST){
$title = $_POST['title'];
$content = $_POST['content'];
if($title&&$content){
//這裡我們先定義一個數組..
$data = array();
if($_FILES['file']['name'])
//開始對提交的附件進行處理.
如果成功,則可以得到我們附件的名稱和上傳的地址等資訊,看你需要什麼
如果失敗的話
返回錯誤.
成功
$data['filename'] = //檔名
$data['filepath'] = //檔案路徑.
}
$arr = array(
'title' => $title,
'content' => $content
);
if(!$_POST['id']){
$flag = 進行插入操作..
$type = "新增";
}else{
$flag = 進行修改操作.
$type = "修改";
}
if($flag) $str = "成功";
else $str = "失敗";
$this->success($type.$str,//跳到列表路由中.);
}
}//end of post.
//下面是模板內容....
相關推薦
php 在同一個表單中新增和修改資料 二
好吧,其實我這人不看重訪問量的,但是今天一天的訪問量比我去年發的一篇還要多. 我還是有點小小的驚訝的.作為一個做技術的屌絲.不,我不認為自己是屌絲,我覺得程式設計是一件高大山的職業.雖然很累,但是確實能讓你每天的生活很充實. No matter whether you be
使用zTree在form表單中提交和修改回顯
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <
PHP中常用的超全局變量 表單中get和post提交方式的區別 session與cookie的區別 GD庫是做什麽用的
屬性 過程 生成報表 用戶訪問 服務器 接收 file pla request PHP中常用的超全局變量 $_GET ----->get傳送方式$_POST ----->post傳送方式$_REQUEST ----->可以接收到get和post兩種方式的值
解決elementUI表單資料新增和修改資料混亂
需求是:初期化一個table列表,可以對table列表資料進行新增和修改,點選新增和修改時彈出窗體,窗體繫結的資料是form裡的Model,開始的時候點選新增是可以的,後臺獲取前臺的資料是沒有id主鍵的,但是當點選修改的時候,因為把主鍵id賦值給了form表單,導致點選新增後
【轉載】表單中 Readonly 和 Disabled 的區別
作用 .net 單元 ont 應該 表單元 als 利用 取數 今天寫代碼,遇到表單提交的問題,某個字段在不同的情況下,要傳遞不同的值進行賦值,試過一些方法都有些問題,後來請教前端同學,使用 disabled 這個屬性終於搞定了問題,查到一篇講解 readonly 和 di
form表單中get和post兩種提交方式的區別
name bsp inpu get div post input 普通 表單 一、form表單中get和post兩種提交方式的區別? 1.get提交表單中的內容在鏈接處是可見的。post不可見 2.post相比於get是安全的 3.post不收限制大小,get有
servlet表單中get和post方法的區別
pos span 轉化 不可見 上傳文件 post div font 支持 Form中的get和post方法,在數據傳輸過程中分別對應了HTTP協議中的GET和POST方法。二者主要區別如下:1、Get是用來從服務器上獲得數據,而Post是用來向服務器上傳遞數據。2、Get
使用JQuery 表單動態新增和刪除行
function addvotesub() {var name=rownum;var VOTESUBSN = '<td style="text-align:center;"><input class="votesubsn" style="width:35px;" maxlength="6"
Layui同一個表單中放置兩個按鈕,提交問題
今天做專案遇到了這個問題,看到layui社群有人問,但沒有答案,自己就想了一個辦法: 原理:用兩個按鈕,一個按鈕設定提交方式為Post,一個為Get,這樣你就可以通過控制器端不同的接受請求方式,來實現不同的業務 核心程式碼如下: 頁面上預設寫寫post請求: 第一個
php接收表單中有大陣列存在時的問題
最近在做專案時,表單中提交了一個超大的陣列(陣列元素的個數超過1000),結果陣列資料總是會有丟失,最後百度了下,看到了高人的解答,原來從php5.3之後,php為了安全性,限制了表單提交欄位的數量,也就是php.ini配置檔案中max_input_vars 引數 ,預設的
表單中Readonly和Disabled的區別
兩種屬性的寫法如下:<input type="text" name="name" value="xxx" disabled /><input type="text" name="name" value="xxx" readonly />這兩種寫法都會使顯
PHP把表單中的資料寫入到EXCEL
if($name!=null){ try{ date_default_timezone_set('Etc/GMT-8'); //這裡設定了時區 $time= date("Y-m-d H:i:s"); $fp = fopen("data.
Spring Security在標準登入表單中新增一個額外的欄位
概述 在本文中,我們將通過向標準登入表單新增額外欄位來實現Spring Security的自定義身份驗證方案。 我們將重點關注兩種不同的方法,以展示框架的多功能性以及我們可以使用它的靈活方式。 我們的第一種方法是一個簡單的解決方案,專注於重用現有的核心Spring Security實現。 我們的第二種方法是更
html5中新增表單控制元件和屬性
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <ti
表單中的添加,新增數據-測試思考點
nbsp es2017 src 新增 http ges 9.png 測試 alt 表單中的添加,新增數據-測試思考點
php表單 - 驗證郵件和URL
通過 image all e-mail translate view 進行 pattern log PHP - 驗證名稱 以下代碼將通過簡單的方式來檢測 name 字段是否包含字母和空格,如果 name 字段值不合法,將輸出錯誤信息: $name =
Restful風格,PUT修改功能請求,表單中存在文件報錯-HTTP Status 405 - Request method 'POST' not supported
for 文件的 文件 roo spring commons 容量 put common 解決方案配置如下 <!-- 配置文件上傳解析器 --> <bean id="multipartResolver" class="org.spri
js 監測from表單中的input和select,時時監測,沒有輸入或選擇信息報錯,不允許提交數據
height ssss txt input OS 表達 tip eight html 1.html 代碼為 在input和select同級元素中添加 .error的標簽,用來存放報錯信息 <form action="" method="post" enctype="
html表單中的name屬性和value屬性
標簽 put -s tex 什麽 input 例子 htm use 舉例: 比如<input type="text" name=" username" value="aa">女孩 在這個例子中value究竟有什麽用啊,後面都寫了女孩了,顯示的內容一定是女孩 女孩
html5新增表單控件和表單屬性
tps 特性 普通 mit form表單 pan 頁面 inpu data 新的輸入性表單控件: email:電子郵箱文本框,跟普通的沒什麽區別 - 當輸入不是郵箱的時候,驗證不通過 - 移動端的鍵盤會發生變化 tel:電話號碼 url:網頁