现在考虑的问题就是如何把头像上传的地方给圈出来,我们可以在这个DIV
下面新建一个DIV:
因为div是块级元素,所以会被上面的div挤下来,所以,我们可以给两个div都加上一个左浮动:
得到的效果,就是两个DIV在一起了。
于是,上传头像的区域就被划出来了,接下来,我们要在这个区域嵌套一层iframe,指向原来的头像上传页面。
最终我们要引入的就是这个index.html
<div class='header_con'>
<iframe frameborder=0 scrolling='auto' src="imageUpload/index.html" style='width:100%;height:100%'></iframe>
</div>
当图片上传成功的时候,就会调用父页面的saveImgToDb方法:
并且把上传图片的详细地址作为参数传递到了父页面。
那么,在父页面(user.php)中,就必须写一个saveImgToDb的方法:
修改后:
function saveImgToDb(header){
var obj = {};
obj.header = header; //用户头像地址
$.post("user/saveImgToDb.php" , obj , function(data){
if(data.errCode < 0){
alert(data.errMsg);
return;
}
},"json");
}
并且把上传图片的详细地址作为参数传递到了父页面。
那么,在父页面(user.php)中,就必须写一个saveImgToDb的方法:
修改后:
function saveImgToDb(header){
var obj = {};
obj.header = header; //用户头像地址
$.post("user/saveImgToDb.php" , obj , function(data){
if(data.errCode < 0){
alert(data.errMsg);
return;
}
},"json");
}
因为在个人详情页无法像之前的用户管理页面那样获取到userid,那么,我们需要去修改saveImgToDb.php 这个文件。思路:如果发现有id传过来,就用id去查询。如果没有,那说明是个人详情页提交的上传头像请求,我们就去session中获取username,用username来查询那个需要修改头像的用户数据。 saveImgToDb.php:
<?php
$resultData = array();
$resultData["errCode"] = 0;
$resultData["errMsg"] = "";
//连接MySQL数据库
$conn = mysql_connect("localhost","root","");
$db = mysql_select_db("test",$conn);
mysql_query("set names utf8");
if(isset($_POST["id"]) && $_POST["id"] != null){
$id = $_POST["id"];
$header = $_POST["header"];
$sql = "update tm_users set header = '$header' where id = $id;";
}else{
session_start();
$username = $_SESSION["username"];
$header = $_POST["header"];
$sql = "update tm_users set header = '$header' where username = '$username';";
}
mysql_query($sql) or die(err());
echo json_encode($resultData);
function err(){
$resultData["errCode"] = -1;
$resultData["errMsg"] = mysql_error();
echo json_encode($resultData);
return;
}
?>