我正在尝试上传图片以及添加细节,例如;标题,描述和文件路径到数据库表中。
我正在使用以下代码,但未将任何数据添加到数据库中;
(session.php include包含数据库连接。)
<?php include('includes/session.php'); $uploadDir = 'submitted/pictures/'; if(isset($_POST['submit'])) { $fileName = $_FILES['file']['name']; $tmpName = $_FILES['file']['tmp_name']; $fileSize = $_FILES['file']['size']; $fileType = $_FILES['file']['type']; $filePath = $uploadDir . $fileName; $result = move_uploaded_file($tmpName, $filePath); if (!$result) { echo "Error uploading <strong>file</strong>"; exit; } if(!get_magic_quotes_gpc()) { $fileName = addslashes($fileName); $filePath = addslashes($filePath); } $title = $_POST['title']; $description = $_POST['description']; $query = "INSERT INTO $user_pictures (file, title, description) VALUES ('$filePath', '$title', '$description')"; mssql_query($query); } ?>
表单代码;
<form name="Image" enctype="multipart/form-data" action="upload-pics2.php" method="POST"> Title <input type="text" name="title" maxlength="100" class="textbox" value="<?php echo $form->value("title"); ?>" /> Description <textarea name="description" rows="8" cols="40" class="textbox" value="<?php echo $form->value("description"); ?>"></textarea> File <input type="file" name="file" accept="image/gif, image/jpeg, image/x-ms-bmp, image/x-png" size="26" class="textbox" /> <input type="submit" name="submit" value="Upload" class="button" /> </form>
我想知道是否有人可以告诉我可能出了什么问题?
谢谢你。
由于存在几个问题,此代码无法正常工作。
首先,您应在检查上传时重命名html字段之一或更改字段名称:
<input type="submit" name="Upload" value="Upload" class="button" />
或者
if(isset($_POST['submit']))
第二,此脚本不会将任何数据存储到DB中。您应该获取,清理数据并将数据写入相应的字段,例如:
$title = mysql_real_escape_string($_POST['title']); $description = mysql_real_escape_string($_POST['description']); $query = "INSERT INTO $user_pictures (file, title, description) VALUES ('$filePath', '$title', '$description')";
您应该确保这些字段出现在数据库中(如果没有)-您应该创建它们:
ALTER table user_pictures ADD column description text, add column title varchar(255);