ajax第二天

ajax第二天

表单的处理

表单里面input项的name:提供给后台使用
<div class="form">
    <form action="./form.php" method="post" enctype="multipart/form-data">
        <table>
        <tr>
            <td>用户名:</td>
            <td><input type="text" name="username"></td>
        </tr>
        <tr>
            <td>密&nbsp;码:</td>
            <td><input type="password" name="password"></td>
        </tr>
        </table>
        <td><input class="file" type="file" name="file"></td>
        <td><input type="submit"></td>
    </form>
</div>  
<?php
//自定义数据
$arr = array('张三'=>123,'小明'=>321);
// print_r($arr);
// 接参数
$username = $_POST['username'];
$password = $_POST['password'];
// var_dump($username['username']);
//检测有没有该用户名
$hasName = array_key_exists($username,$arr);
// var_dump($hasName);
//验证密码
//php语法没有全等于
if ($hasName&&$arr[$username]==$password) {
    echo '登陆成功,正在跳转';
    // header('refresh:3;url=./home.php');

}else{
    echo "没有登录成功,正在跳回页面";
    // 跳转到某个成功页面
        // header('refresh: 3; url=http://www.baidu.com');
    header('refresh: 3; url=./form.html');
}   
//接收文件
var_dump($_FILES);
//获取文件名
$fileName = $_FILES['file']['name'];
// echo $fileName;
// 获取文件路径
$path = $_FILES['file']['tmp_name'];
//将文件从临时目录里面移出来(移除更新文件)
//move_uploaded_file
move_uploaded_file($path,'./'.$fileName);
echo "<img src=".'./'.$fileName.">"
?>

charles

charles软件是一款拦截报文的软件

http协议

request:请求报文
response:响应报文
content-Type:响应资源的MIME类型

MIME类型:MIME是标识文件类型的,文件后缀并不能正确无误的标识文件的类型。客户端与服务器在进行数据传输的时候都是以字节形式进行的,咱们可以理解成是以“文本形式”传输,这时浏览器就需要明确知道该怎么样来解析这些文本形式的数据,MIME就是明确告知浏览器该如何来处理。
为什么要设置请求头?
通过请求头里面的Content-Type字段来获知请求中的消息主体是用何种方式编码,再对主体进行解析。所以说到 POST 提交数据方案,包含了 Content-Type 和消息主体编码方式两部分。
http协议的理解
浏览器做的工作就是解析http协议然后然后将内容展示出来
表单提交是浏览器向Web服务器发起HTTP协议的请求
javascipt代码控制浏览器向Web服务器发起HTTP协议的POST请求,Web服务器收到该请求后,会执行一段程序,这段程序称为Web程序,一般是用PHP/ASP/ASPX/JSP等语言写

xmlHttpRequest对象概念

//XMLHTTP对象:js的内嵌对象=>向服务器发起请求
//XMLHTTP对象基于http协议
var xhr = new XMLHttpRequest;
//设置请求行
xhr.open(‘post’,‘8-1.php’);
//设置请求头,post请求必须有Content-Type
xhr.setRequestHeader(‘Content-Type’,’application/x-www-urlencoded’);
//设置请求主体
xhr.send(‘name=’zhangsan&age=123’);
//接收响应体,xhr是一个在浏览器和服务器之间传递的包
xhr.onreadystatechange = function(){
if(xhr.readyState == 4){
xhr.responseText;
}
}


XMLHttpRequest对象默认异步,支持同步
xhr.open('post','8-1.php','false');

enctype=”multipart/form-data”需要了解
$_FILES[‘photo’][‘tmp_name’]
<?php
// echo $_POST[];
// $file = $_FILES['file']['tmp_name'];
// print_r ($_FILES);
$fileOne = $_FILES['file'];//获取浏览器传过来的input的name为file的对象
print_r ($fileOne);
//打印的内容:Array ( [name] => 5.jpg [type] => image/jpeg [tmp_name] => D:\wamp\tmp\php50B0.tmp [error] => 0 [size] => 47094 ) D:\wamp\tmp\php50B0.tmp
$fileTwo = $fileOne['tmp_name'];//获取临时文件夹里面的key为tmp_name的包含图片路径的字符串
echo $fileTwo;
//将该路径($fileTwo)下面的文件移动到'./upload.jpg'
move_uploaded_file($fileTwo, './upload.jpg');
//打印
echo '<img src="./upload.jpg">';

?>
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值