我正在构建一个基本的CMS。今天我想添加上传缩略图的选项。我搜索了互联网并找到了我可以使用的教程。现在,发布后,图像正确上传并按原样显示。一切都很完美。
现在的问题是我的其他表单值不再发布了..以前它工作正常,但在添加上传缩略图的选项后,除了图像文件名之外,没有任何值发布到数据库。
任何人都知道我的代码出了什么问题?
<form method="POST" enctype="multipart/form-data" name="form">
<select name="category">
<option value="option 1">option 1</option>
</select>
<input type="text"name="topic">
<textarea name="article"></textarea>
<select name="author">
<option>option 1</option>
</select>
<input type="file" name="thumbnail">
<button type="submit" name="post">Post article</button>
</form>
<?php
function GetImageExtension($imagetype)
{
if(empty($imagetype)) return false;
switch($imagetype)
{
case 'image/bmp': return '.bmp';
case 'image/gif': return '.gif';
case 'image/jpeg': return '.jpg';
case 'image/png': return '.png';
default: return false;
}
};
$file_name=$_FILES["thumbnail"]["name"];
$temp_name=$_FILES["thumbnail"]["tmp_name"];
$imgtype=$_FILES["thumbnail"]["type"];
$ext= GetImageExtension($imgtype);
$imagename=date("d-m-Y")."-".time().$ext;
$target_path = "../magazine/thumbnails/".$imagename;
if(isset($_POST['post']) && move_uploaded_file($temp_name, $target_path)){
$username=mysqli_real_escape_string(db_conx,$_POST['author']);
$topic=mysqli_real_escape_string(db_conx,$_POST['topic']);
$article=mysqli_real_escape_string(db_conx,$_POST['article']);
$category=mysqli_real_escape_string(db_conx,$_POST['category']);
$result=mysqli_query($db_conx,"INSERT INTO articles (`username`,`topic`,`article`,`category`,`thumbnail`) VALUES('$username','$topic','$article','$category','$imagename')");
}
?>
答案 0 :(得分:1)
错字。 改变这个:
<textarea name="article"</textarea>
到此:
<textarea name="article"></textarea>
我看到的另一个问题是变量db_conx
。您错过了美元符号$
,这是错误的语法,除非您指的是常量。将其更改为$db_conx
。