2016-11-19 35 views
0

問題1:我是新手編程,不知道我做錯了什麼。我收到以下錯誤:

Notice: Undefined index: pimage in [..]

這是代碼:

<form method="post" enctype="multipart/form-data"> 
    <label for="pimage">photo</label> 
    <input type="file" name="pimage" id="fileToUpload"/><br /> 
    <input type="submit" name="psubmit" value="register" /> 
</form> 

,這是我的PHP:

if (isset($_POST['psubmit'])) { 
$image = $_POST['pimage']; 

Q2:上面的代碼後的形式應該是放置在數據庫中,我沒有得到任何錯誤,但我沒有看到任何數據庫中出現。這裏是PHP代碼:

if (isset($_POST['psubmit'])) { 
    include 'opendb.php'; 
    $stmt = $dbh->prepare("INSERT INTO new_products(Title, Price, CID, 
Categorie, Sub-categorie, Description, Shipping) VALUES(:value1, :value2, 
:value3, :value4, :value5, :value6, :value7)"); 
    $image = $_POST['pimage']; 
    $values = array(
     'value1' => $_POST['ptitle'], 
     'value2' => $_POST['pprice'], 
     'value3' => $_POST['pcid'], 
     'value4' => $_POST['pcat'], 
     'value5' => $_POST['psubcat'], 
     'value6' => $_POST['pdescription'], 
     'value7' => $_POST['pshipping'],); 

    $stmt->execute($values); 
    $stmt->errorInfo(); 
} 

很好,這個問題被標記爲重複,但我沒有看到在給定的鏈接awnser。我知道我必須設置$ _POST ['pimage'],據我所知,我不想成爲你需要提供信息的人,但請給我給定鏈接中的文本,以便完成這段代碼。

回答

1

只需查看$ _FILES全局變量和關於上傳文件的小教程here

您的文件名在這裏$ _FILES [「pimage」] [「name」]。但是,您需要使用函數move_uploaded_file($ _ FILES [「pimage」] [「tmp_name」],$ target_file)將文件從臨時php路徑複製到您的服務器文件文件夾中。

你有PARAMS招標錯誤,嘗試了這一點:

if (isset($_POST['psubmit'])) { 
    include 'opendb.php'; 
    $stmt = $dbh->prepare("INSERT INTO new_products(Title, Price, CID, 
    Categorie, Sub-categorie, Description, Shipping) VALUES(:value1, :value2, 
    :value3, :value4, :value5, :value6, :value7)"); 

    $values = array(
     ':value1' => $_POST['ptitle'], 
     ':value2' => $_POST['pprice'], 
     ':value3' => $_POST['pcid'], 
     ':value4' => $_POST['pcat'], 
     ':value5' => $_POST['psubcat'], 
     ':value6' => $_POST['pdescription'], 
     ':value7' => $_POST['pshipping']); 

    $stmt->execute($values); 
    $stmt->errorInfo(); 
} 

而且還有爲$ _ POST [ 'pimage']沒有這樣的變量。只有$ _FILES ['pimage']。

+0

這是我在PHP代碼下的東西,但它永遠不會到達那裏(if()),因爲有一個未定義的變量。如果你想要,我可以在某處通過代碼。 – wes

+0

你在哪裏有'$ _FILES'?我在你的問題中看到的所有內容都是'$ _POST'。 –

+0

@JoeC,正如我上面說的,我在上面的代碼後面有這個。這裏是完整的代碼: http://pastebin.com/vKqH1ejG – wes