• 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当前执行任务列表
    小白学开发(iOS)OC_ 字符串的获取 (2015-08-11)
    【leetcode】Search in Rotated Sorted Array (hard)
    【leetcode】Spiral Matrix II (middle)
    【leetcode】Spiral Matrix(middle)
    【leetcode】Reverse Bits(middle)
    【leetcode】Number of 1 Bits (easy)
    【leetcode】Set Matrix Zeroes(middle)
    【leetcode】Reorder List (middle)
    【leetcode】Reverse Linked List II (middle)
  • 原文地址:https://www.cnblogs.com/Tanqurey/p/10485277.html
Copyright © 2020-2023  润新知