zoukankan      html  css  js  c++  java
  • PHP03

    PHP03

    1、提交地址:
    action。用户点击提交后,发送请求的地址。一般为了便于维护,最常见的是提交给当前文件,然后在当前文件判断是否为表单提交请求,表单的处理逻辑放在Html之前,为了避免写死提交地址而导致的代码修改,鲁棒性不强,使用SERVER超全局变量。
    在这里插入图片描述
    鲁棒性:指我们的程序应对变化的能力
    在这里插入图片描述
    2、提交方式:
    在这里插入图片描述

    get和post的方式差异:
    请求方式不同
    传参方式不同:
    get——url传参
    post——请求体传参
    3、表单元素对的提交
    所有表单的提交都必须有name属性
    button:
    默认value为on。表单中使用了radio,一定要为相同的raadio设置不同的value,让服务端可以辨别
    checkbox:
    如果没有选中则不会提交,选中提交后value值为on
    也可以设置value。
    同时提交多个选中项:
    在name属性后加[]
    下拉框:
    默认提交的是option标签中的内容(innertext)
    也可以设置value

    4、案例:编写功能完整的用户注册页面
    1)表单处理三部曲:
    接收并校验、持久化、响应
    2)表单状态保持:
    include和require函数其实可以有返回值,可返回一个含配置代码的数组
    return Array(
    ‘SYSTEM_NAME’=> ‘cc’
    );
    然后在引入时
    在这里插入图片描述
    5、文件域的基本使用
    1)
    如果表单内含有文件域,则提交方式必须为post
    enctype必须为multipart-from-data,系统默认为urlencoded,是键值对的形式。
    接收用户上传的文件时,用一个叫做$_FILES的超全局成员
    2)文件上传服务端处理逻辑
    判断服务端有没有收到上传的文件-判断文件上传是否发生错误-将文件从临时目录移动到网站范围内–判断指定目标目录是否存在-判断是否移动成功

    <?php
    function upload(){
    
    	if (!isset($_FILES['avatar'])){
    		$GLOBALS['message'] ='未上传';
    		return;
    	}
    	 $avatar = $_FILES['avatar'];
    	if($avatar['error']!==UPLOAD_ERR_OK){
    		$GLOBALS['message'] ='上传失败';
    		return;
    	}
    	$source=$avatar['tmp_name'];
    	$target='./uploads/'.$avatar['name'];
    	$moved=move_uploaded_file($source, $target);
    	if(!$moved){
    		$GLOBALS['message'] ='上传失败';
    		return;
    	}
    	echo '上传成功';
    }
    if($_SERVER['REQUEST_METHOD']==='POST'){
    upload();
    }
     ?>
    <!DOCTYPE html>
    <html lang="en">
    <head>
    	<meta charset="UTF-8">
    	<title>Document</title>
    </head>
    <body> 
    <form  method="post" enctype="multipart/form-data" action="<?php echo $_SERVER['PHP_SELF']; ?>">
    	<input type="file" name="avatar">
    
    <button>上传</button>
    <?php if(isset($message)):?>
    <p style="red">
    <?php echo $message;  ?>
    </p>
    <?php endif ?>
    
    	</form>
    </body>
    </html>
    

    3)上传大文件的问题
    在这里插入图片描述
    修改请求报文限制大小post_max_size
    修改上传的文件限制大小upload_max_filesize

  • 相关阅读:
    YARN的设计
    在(MRv1)中JobTracker工作方式
    经典 MapReduce框架(MRv1)
    进程与线程的简单解释
    Java序列化的机制和原理
    ibatis源码学习4_参数和结果的映射原理
    ibatis源码学习3_源码包结构
    ibatis源码学习2_初始化和配置文件解析
    ibatis源码学习1_整体设计和核心流程
    spring中的设计模式
  • 原文地址:https://www.cnblogs.com/Tanqurey/p/10485277.html
Copyright © 2011-2022 走看看