2016-06-10 82 views
-4

我正在嘗試製作一個頁面,用戶可以將歌曲添加到我的數據庫。我有一些問題。當我嘗試它時,ID,專輯標題和Artiest被正確地添加到我的數據庫中,但我只對Duur沒有任何價值,爲Prijs只得到0.00,這不是我想要添加的。什麼類型可以在我的輸入表單上選擇?

我的代碼如下:

<form method="post"> 
<input type="int(5)" name="ID"> ID <br> 
<input type="text" name="Titel">Titel<br> 
<input type="text" name="Artiest">Artiest<br> 
<input type="varchar(6)" name"Duur">Duur<br> 
<input type="decimal(5,2)" name"Prijs">Prijs<br> 

<input type="submit"> 
</form> 

<?php 

$inputid = $_POST['ID']; 
$users_name = $_POST['Titel']; 
    $users_email = $_POST['Artiest']; 
    $users_website = $_POST['Duur']; 
    $users_comment = $_POST['Prijs']; 





    $query = " 
    INSERT INTO `Album`(`ID`, `Album Titel`, `Artiest`, `Duur`, `Prijs`) VALUES ('$inputid', '$users_name', 
     '$users_email', '$users_website', '$users_comment');"; 

    $result = $conn->query($query);; 


    echo "<h2>Thank you for your Comment!</h2>"; 

    mysql_close($con); 

?> 

數據庫鏈接正確,所以這不是問題。 我有我的數據庫結構完全相同的輸入類型。

有人可以幫我嗎? 在此先感謝!

+0

varchar和decimal和int不是輸入類型這些是數據庫表coloum類型 –

+0

@Vicky好的,謝謝,你知道我應該把它們改成html格式嗎? – Bram

+1

使用

回答

0

HTML只有以下輸入類型http://www.w3schools.com/htmL/html_form_input_types.asp。您必須僅在數據庫中維護嚴格的數據類型,而不是使用HTML。對於HTML,使用上面列舉的輸入類型之一。

<input type="number" name="ID"> ID <br> 
<input type="text" name="Titel">Titel<br> 
<input type="text" name="Artiest">Artiest<br> 
<input type="number" name"Duur">Duur<br> 
<input type="number" name"Prijs">Prijs<br> 
+0

文本不支持數字,他希望varchar **名稱「Duur」**,它應該是名稱=「Duur」 –

1

列出所有可用的輸入類型:http://www.w3schools.com/html/html_form_input_types.asp

<form method="post"> 

    <!-- Add required attribute if you don't want user to leave it blank --> 

    ID: <input type="text" name="id" required /> <br> 
    Title: <input type="text" name="title" required /><br> 
    Artist<input type="text" name="artist" required /><br> 

    <!-- allow user to enter float values between your choice --> 
    Duration: <input type="number" min="0" max="10" step="0.01" name="duration" required /><br> 


    Price: <input type="number" min="0" max="999.00" step="0.01" required name="price" /><br> 

    <input type="submit"> 
</form> 


    <?php 

    $id = $_POST['id']; 
    $title = $_POST['title']; 
    $artist = $_POST['artist']; 
    $duration = $_POST['duration']; 
    $price = $_POST['price']; 

    $query = "INSERT INTO `Album`(`ID`, `Album Titel`, `Artiest`, `Duur`, `Prijs`) VALUES ('$id', '$title', 
      '$artist', '$duration', '$price');"; 

     $result = $conn->query($query);; 


     echo "<h2>Thank you for your Comment!</h2>"; 

     mysql_close($con); 

更新:你忘了在最後兩個輸入字段名「=」的標誌,這就是爲什麼他們沒有得到張貼。

我編輯了我的原始答案。

這裏是你的代碼編輯的版本我都試過:

<form method="post"> 

     <!-- Add required attribute if you don't want user to leave it blank --> 

     ID: <input type="text" name="id" required /> <br> 
     Title: <input type="text" name="title" required /><br> 
     Artist<input type="text" name="artist" required /><br> 

     <!-- allow user to enter max 6 characters --> 
     Duration: <input type="number" min="0" max="10" step="0.01" name="duration" required /><br> 

     <!-- allow user to enter float values between your choice --> 
     Price: <input type="number" min="0" max="999.00" step="0.01" required name="price" /><br> 

     <input type="submit"> 
    </form> 

    <?php 
     print_r($_POST); 


    ?> 

這給了我這個輸出enter image description here

如果你是新的節目,然後請用一些適當的變量名,讓其他人可以更好地理解你的代碼

希望這可以解決您的問題。

+0

首先,感謝您的幫助。我覺得它很接近。但不幸的是,我仍然遇到同樣的問題。 Duur沒有價值,無論我輸入什麼,價值總是0.00。澄清一點。 Duur意味着持續時間,所以我想要一個專輯的長度,例如33:45,這意味着33分45秒。 Prijs的意思是價格,我想在那裏有一個小數點,有2位小數,例如7.99 – Bram

+0

請查看我更新的答案 –

相關問題