我有一個可以輸入字符串(必須放入數據庫的名稱)和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