猜测是session与上传图片代码冲突。不知如何解决
1.update语句正确的,我将$username换成具体的用户名,插入成功,说明数据库连接成功的。
2.session是有值的,因为我将其他代码注释掉以后发现,echo $_SESSION['username']的值存在,说明session_start()没有问题。
我查看日志,报的错是这样的:
PHP Notice: Undefined index: username in D:\\wamp\\www\\shts\\uploadFace.php on line 5
PHP Stack trace:
PHP 1. {main}() D:\\wamp\\www\\shts\\uploadFace.php:0
因为想做对应用户名的头像更新,所以才想到用取出session中username
下面出问题的php文件。
<?php
session_start();
include_once("conn.php");
getConnection();
$username = $_SESSION['username'];
/**
*生成唯一字符串
*@return string
*/
function getUniName(){
return md5(uniqid(microtime(true),true));
}
/**
*得到文件唯一扩展名
*@param
*@return string
*/
function getExt($filename){
return strtolower(end(explode(".",$filename)));
}
$filename = $_FILES['uploadedfile']['name'];
$target = dirname(__FILE__)."./upload1/";//接收文件目录$ext = getExt($filename);
$filename = getUniName().".".$ext;
$target_path = $target.$filename;if( move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) {
$s = "update user set faceimg='$target_path' where username='$username'";
$result = mysql_query($s);
if($result){
}else{
echo mysql_error();
}
}else{
}
closeConnection();//关闭数据库连接
?>
下面是数据库user表的字段:user表中字段为username,password,faceimg
1.update语句正确的,我将$username换成具体的用户名,插入成功,说明数据库连接成功的。
2.session是有值的,因为我将其他代码注释掉以后发现,echo $_SESSION['username']的值存在,说明session_start()没有问题。
我查看日志,报的错是这样的:
PHP Notice: Undefined index: username in D:\\wamp\\www\\shts\\uploadFace.php on line 5
PHP Stack trace:
PHP 1. {main}() D:\\wamp\\www\\shts\\uploadFace.php:0
因为想做对应用户名的头像更新,所以才想到用取出session中username
下面出问题的php文件。
<?php
session_start();
include_once("conn.php");
getConnection();
$username = $_SESSION['username'];
/**
*生成唯一字符串
*@return string
*/
function getUniName(){
return md5(uniqid(microtime(true),true));
}
/**
*得到文件唯一扩展名
*@param
*@return string
*/
function getExt($filename){
return strtolower(end(explode(".",$filename)));
}
$filename = $_FILES['uploadedfile']['name'];
$target = dirname(__FILE__)."./upload1/";//接收文件目录$ext = getExt($filename);
$filename = getUniName().".".$ext;
$target_path = $target.$filename;if( move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) {
$s = "update user set faceimg='$target_path' where username='$username'";
$result = mysql_query($s);
if($result){
}else{
echo mysql_error();
}
}else{
}
closeConnection();//关闭数据库连接
?>
下面是数据库user表的字段:user表中字段为username,password,faceimg
$s = "update user set faceimg='{$target_path}' where username='{$username}'";
$s = "update user set faceimg='".$target_path."' where username='".$username."'";
var_dump($s);
输出什么?
把其中的$username换成$_SESSION['username'] 重新拼接下