2013-03-20 3 views
0

Я работаю над файлом php для школы. Мы должны принять форму и добавить имя, фамилию, адрес электронной почты и фотографию в базу данных. Я могу добавить имена, по электронной почте в базу данных, но не могу добавить имя изображения в базу данных. Вот часть кода php и некоторых html. Если кто-то может угодить взгляду и дать некоторую помощь. Спасибо заранее.php insert file

<?php include("db_connect.php");?> 
<?php // select the database in which to add a table 
mysql_select_db("final_exam_db",$con); 



$sql ="INSERT INTO drivers_0115061 (ln,fn,month,day,year,photo,email) 
VALUES ('".$_POST["ln"]."', 
    '".$_POST["fn"]."', 
    '".$_POST["month"]."', 
    '".$_POST["day"]."', 
    '".$_POST["year"]."', 
    '".$_POST['file']['photo']."', 
    '".$_POST["email"]."' 
    )"; 

//$sql="INSERT INTO people (fn,ln,dob,city,prov,pc,gender,hc,nod) VALUES ('steve','douglas',1234567,'winnipeg','manitoba','r3p 6g5','m','grey',2)"; 

//echo $sql; 


mysql_query($sql, $con); 
echo mysql_error(); 
?> 




<?php include("db_close.php");?> 

HTML: 
<td> 
Picture 
</td> 
<td> 
<input type="hidden" name="MAX_FILE_SIZE" value="10000000"/> 
<input type="file" id="photo" name="photo"/> 
</td> 
</tr> 
<tr> 
<td> 
+0

** Что значит «не удалось добавить имя изображения в базу данных» означает? ** «не удалось добавить имя изображения в базу данных» является неадекватным описанием для нас чтобы понять проблему. Что случилось, когда вы попробовали? Получили ли вы неправильные результаты? Вы получили * нет * результаты? Если результаты были неверными, что сделало их неправильными? Что вы ожидали вместо этого? Вы получили * любые * правильные результаты? Если да, то каковы они? Вы получили сообщение об ошибке? Не заставляй нас гадать. –

+0

Я не получил результата. Первое имя, фамилия и адрес электронной почты добавлены в базу данных, но имя изображения не было. В базе данных не было никакой ошибки, кроме имени изображения. –

+0

имя файла находится в массиве $ _FILES, а не в массиве $ _POST. Я предполагаю, что у вас есть тег '

2013-03-20 03:42:52

ответ

-1

ли это другим способом из

//be sure to add enctype in your form tag 
<form action="upload_file.php" method="post" enctype="multipart/form-data"> 
<input type="file" name="file" id="file"> 
</form> 

Сначала обработать свой путь и имя файла в базу данных

$allowedExts = array("jpg", "jpeg", "gif", "png"); 
    $extension = end(explode(".", $_FILES["file"]["name"])); 
    if ((($_FILES["file"]["type"] == "image/gif") 
    || ($_FILES["file"]["type"] == "image/jpeg") 
    || ($_FILES["file"]["type"] == "image/png") 
    || ($_FILES["file"]["type"] == "image/pjpeg")) 
    && ($_FILES["file"]["size"] < 20000) 
    && in_array($extension, $allowedExts)) 
    { 
    if ($_FILES["file"]["error"] > 0) 
    { 
    echo "Return Code: " . $_FILES["file"]["error"] . "<br>"; 
    } 
    else 
    { 
    echo "Upload: " . $_FILES["file"]["name"] . "<br>"; 
    echo "Type: " . $_FILES["file"]["type"] . "<br>"; 
    echo "Size: " . ($_FILES["file"]["size"]/1024) . " kB<br>"; 
    echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br>"; 

    if (file_exists("upload/" . $_FILES["file"]["name"])) 
    { 
    echo $_FILES["file"]["name"] . " already exists. "; 
    } 
    else 
    { 
    //here is what actually you need to care , set your upload path from here 
    move_uploaded_file($_FILES["file"]["tmp_name"], 
    "your/upload/path/" . $_FILES["file"]["name"]); 
    echo "Stored in: " . "upload/" . $_FILES["file"]["name"]; 
    } 
    } 
    } 
    else 
    { 
    echo "Invalid file"; 
    } 

если все хорошо работать то будет означать, что вы загрузили файл успешно здесь вам нужно сохранить ваша запись в базе данных с вашим именем

И всякий раз, когда вы хотите позвонить своему f Ile сделать это Получить имя файла из базы данных

<img href="your/path/name/<?php echo $filenamefromdatabase; ?>" />