作者towalking (加油啊大妖人!)
看板PHP
標題[請益] 程式碼哪裡有錯?
時間Sun Jul 15 22:09:55 2007
我寫了一個 for 迴圈,要跑出數個上傳檔案的欄位,
<input type=file name=logo_upload[] />
然後有個發送的按鈕,
<input name=change_ok type=submit value=確定修改 />
如果按下按鈕,就會把上傳的檔名寫進資料庫,
if($change_ok)
{
$total = count($number);
for($i=0; $i<$total; $i++)
{
$tmp_name = $_FILES['$logo_upload[]']['name'][$i];
$sql = "UPDATE link SET logo_name='$tmp_name' WHERE
number='$number[$i]'";
mysql_query ($sql,$db);
}
}
這個程式有經過簡化,我只是有問題的部份 post 出來,
我遇到的問題是,不知道為什麼 $tmp_name 這個變數一直接不到東西,
所以根本沒有東西寫進資料庫,
不是資料庫連線上的問題,那會是什麼問題呢?
請大大幫我解答一下,謝謝!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.172.64.200
1F:推 KennyL:${tmp_name} 試試看 07/15 22:47
2F:推 LPH66:應該不是樓上的問題... 07/15 22:54
3F:→ LPH66:照php說明檔的寫法是$_FILES['logo_upload']['name'][$i] 07/15 22:55
4F:推 towalking:照改了還是不行... 07/16 10:36
5F:推 knockout:你FORM的ENCTYPE是? 07/16 11:10
6F:→ towalking:mutiple/data 07/16 11:41
7F:→ towalking:問題算解決了 我把寫法改成像 LPH 說的那樣 07/16 11:41
8F:→ towalking:$_FILES['$logo_upload']['name'] 多一個$也不行耶... 07/16 11:42
9F:推 knockout:嗯? 不是$_FILES['logo_upload'.$i]['name'] 嗎? 07/16 14:40
10F:推 LPH66:基本上這一串file欄位是一個變數叫logo_upload 07/17 14:27
11F:→ LPH66:所以不是.$i 應該是用陣列的方式去存取 07/17 14:29
12F:→ LPH66:ENCTYPE似乎應該是要multipart/form-data才對... 07/17 14:30
13F:推 knockout:嗯 不過我習慣在FORM裡的INPUT再塞的時候 ID跟NAME就先給 07/17 18:47
14F:→ knockout:PHP的部份再用FOR去接 ~~ :P 07/17 18:48