我试图建立一个用户可以将歌曲添加到我的数据库的页面。我有一些问题。当我试用它时,ID,专辑标题和Artiest被正确地添加到我的数据库中,但我只获得Duur的值和Prijs的0.00,这不是我试图添加的wat。
我的代码如下:
<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 :(得分: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);
更新:您忘记在最后两个输入字段的名称中加上“ = ”,这就是为什么他们没有获得POSTED。
我已经编辑了原来的答案。
以下是我尝试过的代码的编辑版本:
<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 );
?>
如果您不熟悉编程,那么请使用一些合适的变量名称,以便其他人更好地理解您的代码。
希望这能解决您的问题。
答案 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>