form

php文件上传与下载(附封装好的函数文件)

痴心易碎 提交于 2020-01-13 20:55:09
单文件上传 前端页面 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Upload A File</title> </head> <body> <form action="upload.php" method="post" enctype="multipart/form-data"> <input type="hidden" name="MAX_FILE_SIZE" value="1024000" /> <input type="file" name="test_pic" /> <input type="submit" value="上传" /> </form> </body> </html> 后端实现upload.php <?php /** * Created by PhpStorm. * Date: 2018/11/11 * Time: 14:06 */ // 接收$_FILES数组 $key = 'test_pic'; $mimeWhiteList = ['image/jpeg', 'image/png', 'image/gif'];//文件映射白名单 $extWhiteList = ['jpeg', 'jpg', 'png', 'gif'];//文件扩展名白名单 $allowSize

Django之Form

末鹿安然 提交于 2020-01-13 19:25:50
Form介绍 我们之前在HTML页面中利用form表单向后端提交数据时,都会写一些获取用户输入的标签并且用form标签把它们包起来。 与此同时我们在好多场景下都需要对用户的输入做校验,比如校验用户是否输入,输入的长度和格式等正不正确。如果用户输入的内容有错误就需要在页面上相应的位置显示对应的错误信息.。 Django form组件就实现了上面所述的功能。 总结一下,其实form组件的主要功能如下: 生成页面可用的HTML标签 对用户提交的数据进行校验 保留上次输入内容 普通方式手写注册功能 views.py # 注册 def register(request): error_msg = "" if request.method == "POST": username = request.POST.get("name") pwd = request.POST.get("pwd") # 对注册信息做校验 if len(username) < 6: # 用户长度小于6位 error_msg = "用户名长度不能小于6位" else: # 将用户名和密码存到数据库 return HttpResponse("注册成功") return render(request, "register.html", {"error_msg": error_msg}) login.html <!DOCTYPE

HTML中form表单get提交和Post提交的区别

﹥>﹥吖頭↗ 提交于 2020-01-13 17:04:15
在form表单中有一个属性method,也就是提交方法。如果你没有设定,那么默认的就是get方式提交,那么两种提交方式的区别有哪些呢? 1.get是从服务器上获取数据,post是向服务器传送数据。 2.get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。post是通过HTTPpost机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。用户看不到这个过程。 3.对于get方式,服务器端用Request.QueryString获取变量的值,对于post方式,服务器端用Request.Form获取提交的数据。 4.get传送的数据量较小,不能大于2KB。post传送的数据量较大,一般被默认为不受限制。但理论上,IIS4中最大量为80KB,IIS5中为100KB。 5.get安全性非常低,post安全性较高。 6、get获取,post更新。 来源: CSDN 作者: Master.Yuan 链接: https://blog.csdn.net/yuanwen52/article/details/103957590

pycharm+pyqt5+QtDesigner+pyUIC第一个pyqt5程序

孤者浪人 提交于 2020-01-13 15:26:01
安装pyqt5和pyqt5-tools pip install pyqt5 pip install pyqt5-tools 在tools中添加QtDesigner和PyUIC QtDesigner在"./Lib/site-packages/pyqt5_tools/Qt/bin"下,具体视python安装目录而定。PyUIC目录为"./Scripts/pyuic5.exe"。 在pycharm中,File->Settings->Tools->External Tools,然后点击左上角加号,在create tool框中输入Name,选择Program,如添加QtDesigner,Name输入QtDesigner,Proogram中选择"./Lib/site-packages/pyqt5_tools/Qt/bin/designer.exe",添加PyUIC时,Name输入pyuic,program选择"./Scripts/pyuic5.exe",然后点OK,然后Apply。 创建项目 在pycharm工具栏Tools->External Tools->QtDesigner进入Qt界面设计界面。 将Push Button控件和Text Edit控件拖入Form中,在工具栏上点击左上到右下那个箭头,然后左键Push Button按住不放到Form中任意位置 在弹出Configure

Google Suggest的简略分析

时间秒杀一切 提交于 2020-01-12 23:56:17
功能的实现主要包括在 http://www.google.com/ac.js 里面,页面里面还有一点辅助作用的脚本。主要是如下的几段: 页面加载的时候首先会调用sf这个函数,功能很简单,就是将焦点设置在文本框中。 < ! - - function sf ( ) { document . f . q . focus ( ) ; } function clk ( url , ct , cd , sg ) { if ( document . images ) { ( new Image ( ) ) . src = "/url?sa=T&ct=" + escape ( ct ) + "&cd=" + escape ( cd ) + "&url=" + escape ( url ) . replace ( / \ + / g , "%2B" ) + "&ei=vQiQQ5e8F6KkOP2pvLAH" + sg ; } return true ; } // --> <!-- function qs ( el ) { if ( window . RegExp & & window . encodeURIComponent ) { var ue = el . href ; var qe = encodeURIComponent ( document . f . q . value ) ; if

文件上传功能实现代码

寵の児 提交于 2020-01-12 15:58:51
单一文件上传: 一、前台 uploadFile.jsp <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"> <title>My JSP 'uploadFile.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1

Flask入门 表单Flask-wtf form原生 Bootstrap渲染(七)

风格不统一 提交于 2020-01-12 04:59:37
(1) 原生的表单 模板页面,form表单 form.html <form action="{{ url_for('/check/') }}" method='post'> <p>用户名: <input type='text' name='username'></p> <p>密码: <input type='password' name='userpass'></p> <p><input type='submit' value='submit'></p> </form> 在manage.py中 #原生表单 @app.route('/form') def form(): return render_template('form.html') #获取原生表单提交的数据 @app.route('/check',method=['POST']) def check(): print(request.form.get('userpass')) print(request.form.get('username')) return '提交数据' #注: 第一个form函数仅仅是跳转页面作用,比较浪费因此我们可以合并一下 在manage.py中将路由函数合并 @app.route('/form') def form(): if request.method == 'POST': print

表单 Flask-WTF - 使用

我与影子孤独终老i 提交于 2020-01-12 04:58:40
1 配置 可以使用Flask-WTF来处理web表单,在使用之前要先配置下,打开config.py,编辑添加如下内容 WTF_CSRF_ENABLED = True SECRET_KEY = 'you-will-never-guess' WTF_CSRF_ENABLED设置为True主要是开启CSRF保护,SECRET_KEY是为了实现CSRF保护,Flask-WTF需要应用程序去配置一个加密密钥。Flask-WTF使用这个密钥去生成加密令牌用于验证请求表单数据的真实性, 注:为了提高安全性,密钥应该存储在一个环境变量中,而不是嵌入到代码中 。配置完成后要通知Flask去加载这个配置文件,编辑app/__init__.py,添加如下内容 from flask import Flask app = Flask(__name__) app.config.from_object('config') from app import views 2 表单类 使用Flask-WTF时,每个web表单是由继承自 Form 类的子类来展现的。该类在表单中定义了一组表单域,每个都表示为一个对象。每个表单域都可以连接到一个或多个 validators ; validators 是一个用于检查用户提交的输入是否合法的函数,app/forms.py 专门用来存放表单类,用例 from flask.ext

flask 处理表单数据 --

点点圈 提交于 2020-01-12 04:57:30
处理表单数据 表单数据的处理涉及很多内容,从获取数据到保存数据大致有以下步骤: 1、 解析请求,获取表单数据 2、 对数据进行必要的转换,比如讲勾选框的值转换成python的布尔值 3、 验证数据是否符合要求,同时验证CSRF令牌。 4、 如果验证未通过则需要生成错误消息,并在模板中显示错误消息。 5、 如果验证通过,就把数据保存到数据库或做进一步处理 使用Flask-WTF和WTForms可以极大地简化这些步骤 提交表单 在HTML中,当<form>标签声明的表单中类型为submit的提交字段被单击时,就会创建一个表单的HTTP请求,请求中包含表单各个字段的数据。表单的提交行为主要有三个属性控制,如下表: form标签的action属性用来指定表单被提交的目标URL,默认为当前URL,就是渲染该模板的路由所在的URL。 当使用get方法提交表单时,表单的数据会以查询字符串的形式附加在请求的URL里,如: 127.0.0.1:5000:/basic?username=xiaxiaoxu&password=12345 GET方式仅适用于长度不超过3000个字符,且不包含敏感信息的表单。因为这种方式会直接将用户提交的表单数据暴露在URL中,容易被攻击者截获,实例中的情况是危险的。因此处处于安全的考虑,我们一般使用post方法提交表单。使用post方式时,按照默认的编码类型

Http请求工具类(Java原生Form+Json)

生来就可爱ヽ(ⅴ<●) 提交于 2020-01-12 04:34:37
package com.tzx.cc.common.constant.util; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.io.Reader; import java.net.HttpURLConnection; import java.net.SocketTimeoutException; import java.net.URL; import java.net.URLEncoder; import java.security.SecureRandom; import java.security.cert.CertificateException; import java.security.cert.X509Certificate; import java.util.Map; import java.util.Set; import javax.net.ssl.HostnameVerifier; import javax.net.ssl.HttpsURLConnection; import javax.net.ssl.KeyManager; import