2015-10-15 31 views
0

嗨,這可能是一個有點棘手,但我覺得我需要一個第二眼去了這一點,所以我有一個表格在腳本中。 (此表格回顯的不是預定義的)我想一旦選擇一個文件做一個更新的數據庫,我設法弄清楚如何做到這一次提交文件的形式來選擇的問題是我怎麼然後繼續進行更新,而無需將表單移動到另一個腳本。這條線:如何提交一個「文件」輸入而不提交按鈕,然後在同一個腳本做一個MySQL更新

if (isset($_FILES['newcv']['name'])){ 

似乎是我的問題,我不斷收到一個錯誤未定義指數newcv

表單

<form action="" method="post"> 
<input type="file" onchange="this.form.submit()" name="newcv"/> 
</form> 

同一個腳本內的PHP代碼:

$cvi = 9; 
if (isset($_FILES['newcv']['name'])){ 
$file_name = mysqli_real_escape_string($con, $_FILES['newcv']['name']); 
$tempname = mysqli_real_escape_string($con, $_FILES['newcv']['tmp_name']); 
$file_type = mysqli_real_escape_string($con, $_FILES['newcv']['type']); 
$random = rand(23456789,98765432); 
$target = "CVs/$random$file_name"; 
move_uploaded_file($_FILES['newcv']['tmp_name'],$target); 
$update = "UPDATE users SET cv_name = '$file_name', cv = '$target' WHERE user_id = '$cvi'"; 
mysqli_query($con, $update); 
} 
+0

並執行,如果你刪除了自動提交和手動提交表單它的工作flawlessy? – adeneo

+0

所以基本上你的問題是未定義的索引警告?那麼'if(isset($ _ FILES ['newcv']))'? – rlanvin

+0

@adeneo是手動提交時,它做到了。 –

回答

1

請ENCTYPE添加到您的表單標籤,讓我知道,如果這做的伎倆

<form action="" method="post" enctype="multipart/form-data"> 
+1

工作就像一個夢。我會送你一個鬆餅,如果我是隔壁:) –

+0

做得好@Shan。 –

+0

我認爲我得到了你的鬆餅@GeraldGray ;-)請選擇答案爲他人提供幫助。 –

相關問題