2011-06-15 102 views
0

我很抱歉,但这些解决方案没有解决我的目的。所以米给我的代码更多的细节,多个上传的标题没有保存到数据库

var a=0; 
    function _add_more() { 
     var txt = "<br><input type=\"file\" name=\"item_file[]\"><br><input type=\"text\" name=\"text[]\">"; 
     document.getElementById("dvFile").innerHTML += txt; 
     alert(a); 
     a=a+1; 

    } 

在这里我已经用了一个协定标题。

function upload(){ 
    if(count($_FILES["item_file"]['name'])>0) { //check if any file uploaded 
     $GLOBALS['msg'] = ""; //initiate the global message 
     for($j=0; $j < count($_FILES["item_file"]['name']); $j++) { //loop the uploaded file array 
      $filen = $_FILES["item_file"]['name']["$j"]; //file name 
      $path = 'uploads/'.$filen; //generate the destination path 
      $text=$_POST['text']['name']["$j"] + "<br>"; 
      if(move_uploaded_file($_FILES["item_file"]['tmp_name']["$j"],$path)) { 

      $insert=mysql_query("insert into image_upload set title='".$text."', image='".$filen."'") or die(mysql_error()); 

      //upload the file 
       $GLOBALS['msg'] .= "File# ".($j+1)." ($filen) uploaded successfully<br>"; //Success message 
      } 
     } 
    } 
    else { 
     $GLOBALS['msg'] = "No files found to upload"; //Failed message 
    } 

    uploadForm(); //display the main form 
} 

这就是我所做的。请帮助我获得每个上传文件的标题。因为我可以在数据库中保存不同的图像,但标题在数据库中似乎相同。

+0

此代码是一个烂摊子。您不检查上传是否成功,您有SQL注入漏洞。脚本的多次调用将覆盖以前的上传。但我会给你这么多:至少你在检查mysql查询是否失败。 – 2011-06-15 17:49:42

+0

我上传脚本工作正常,也将其保存到数据库中,唯一的问题是,我无法保存多个标题,它显示了冠军,但在数据库中我多个文本框,它不保存 – user799100 2011-06-15 17:57:37

+0

您应该使用'$ _ POST [ 'text'] [$ j]'来代替。但是这并没有改变这个脚本是一堆垃圾的事实。它可能会工作一次,但只要您上传第二个文件,第一个文件将被丢弃。 – 2011-06-15 17:59:37

回答

2

试试这个:

$text=$_POST['text'][$j]; 
+0

thanx很多,它工作 – user799100 2011-06-15 18:00:05

+0

@ user799100 - 如果它为你工作,请标记为答案?谢谢。 – Dave 2011-06-15 19:38:32

相关问题