empty $file[0] and $file[1]


empty $file[0] and $file[1]

我在000webhost上上传了这个,它不会更新我数据库中的imagename和imagetype。

<form action="cpanel.php" method="post" enctype="multipart/form-data">
<input type="file" name="file" id="file" value="Browse" />
<input type="submit" name="btnchange" value="Submit Changes"/>
</form
<?php
if(isset($_POST['btnchange'])){
$loc = "pictures/";
$file = explode(".", $_FILES["file"]["name"]);
$sql = "UPDATE `tbluser` SET imagename =  '" .$file[0]. "', imagetype = '" .$file[1]. "' where uname = '" .$_SESSION['user']. "'";
$query = mysql_query($sql,$conn) or die ("Database Query Failed!"); 
$id = mysql_insert_id();
$newname = "$id.$file[1]";
$path = "$loc$newname";
move_uploaded_file($_FILES["file"]["tmp_name"],$path);
}

首先,我建议您不要使用mysql_query。相反,请使用PDO''mysqli。它不起作用的原因可能是您在使用$_session['user']之前没有启动会话。

PHP版本的推荐方式>=5.4.0

if (session_status() == PHP_SESSION_NONE) {
    session_start();
}

来源:http://www.php.net/manual/en/function.session-status.php

对于PHP<5.4.0

if(session_id() == '') {
    session_start();
}