我有一个可以输入字符串(必须放入数据库的名称)和2个文件的表单。这些文件必须上传到一个文件夹,他们的名字放在sql数据库中。上传照片并将其名称添加到MySQL
编辑:数据库部分工作,但我不能让它上传到文件夹。
这是我的代码。
<!DOCTYPE html>
<html>
<head>
<title>Uploading</title>
</head>
<body>
<form method="post" action="fototoevoegen.php" enctype="multipart/form-data">
<p>
Foto Name
</p>
<input type="text" name="fotonaam"/>
<p>
First Foto. Max size is 500kb.
</p>
<input type="hidden" name="size" value="5000000">
<input type="file" name="photo">
<p> Second Foto. Max size is 500kb.</p>
<input type="hidden" name="size2" value="5000000">
<input type="file" name="photo1">
<br/>
<br/>
<input TYPE="submit" name="upload" title="Add data to the Database" value="Add Member"/>
</form>
</body>
</html>
而且PHP代码
<?php
//This gets all the other information from the form
$name=$_POST['fotonaam'];
$picname1 = $_FILES["photo"]["name"];
$picname2= $_FILES["photo1"]["name"];
//This is the directory where images will be saved
$target = "images/".$picname1;
$target2 = "images/".$picname2;
if((move_uploaded_file($_FILES['photo']['tmp_name'], $target)) && (move_uploaded_file($_FILES['photo1']['tmp_name'], $target2)))
{
Echo "Succes";
// Connects to your Database
mysql_connect("localhost", "root", "") or die(mysql_error()) ;
mysql_select_db("Manu") or die(mysql_error()) ;
//Writes the information to the database
mysql_query("INSERT INTO fotos (naamfoto,foto,fotothumb)
VALUES ('$name', '$picname1', '$picname2')") ;
//Tells you if its all ok
}
else {
//Gives and error if its not
echo "Sorry, there was a problem uploading your file.";
}
?>
许多问题 - (1)你有一个流浪')'在'$ PIC1 = $ _ FILES [ '照片1']);'。 (2)当你插入'...'时,'$ pic'和'$ pic1'有什么期望值...'VALUES('$ name','$ pic','$ pic1')...'?我假设你想用'$ _FILES ['photo'] ['name']'/'$ _FILES ['photo1'] ['name']'代替。 (3)在插入数据库之前,你应该在**两个**文件上执行'move_uploaded_file()',以确保它们都先存在。 (4)在不清理数据的情况下,您可以使用'mysql_'开放sql注入。请花时间更新到'mysqli'或'PDO'并学习准备好的语句。 – Sean
@Sean请参阅我的编辑。更新PHP代码,de db部分工作,但不是文件上传本身。 – user2340383