我試圖製作一個表單,它會將圖書添加到圖書館書籍的數據庫中,但對於我的生活,我無法使其工作。這裏是我的代碼:無法使用PHP提交表單正確提交
<div class="container-fluid">
<div class="row">
<div class="col-lg-12">
<h2 class="page-header">Add Books</h2>
<br>
<?php
if (isset($_POST['submit'])){
$host="*****"; // Host name
$username="*****"; // Mysql username
$password="******"; // Mysql password
$db_name="******"; // Database name
$conn = mysqli_connect($host, $username, $password, $db_name);
$name=$_POST['Name'];
$author=$_POST['Author'];
$published=$_POST['Published'];
$isbn=$_POST['ISBN'];
$category=$_POST['Category'];
$sql="INSERT INTO Library (Name, Author, Published, ISBN, Category)
VALUES('$name', '$author', '$published', '$isbn', '$category')";
$query = mysqli_query($conn,$sql);
if($query){
echo "Successfully Added!";
}else{
echo "Error"."<br />".$sql.mysqli_error($con);
}
}
?>
<br>
<form name="addBookForm" action="" method="post">
<fieldset class="form-group">
<label for="frmName">Book Name</label>
<input type="text" class="form-control" id="frmName" placeholder="Name" name="Name">
</fieldset>
<fieldset class="form-group">
<label for="frmAuthor">Author</label>
<input type="text" class="form-control" id="frmAuthor" placeholder="Author" name="Author">
</fieldset>
<fieldset class="form-group">
<label for="frmPublished">Published</label>
<input type="text" class="form-control" id="frmPublished" placeholder="Published" name="Published">
</fieldset>
<fieldset class="form-group">
<label for="frmISBN">ISBN</label>
<input type="text" class="form-control" id="frmISBN" placeholder="ISBN" name="ISBN">
</fieldset>
<fieldset class="form-group">
<label for="frmCategory">Category</label>
<select class="form-control" id="frmCategory" name="Category">
<option value="Politics/Philosophy">Politics/Philosophy</option>
<option value="History/Labour History">History/Labour History</option>
</select>
</fieldset>
<button type="submit" class="btn btn-secondary">Add Book</button>
</form>
</div>
</div>
</div>
我一直在撞牆我的頭一整天,有人能夠告訴我我做錯了什麼?當我按提交按鈕時,它只是回發到頁面,沒有任何成功或錯誤消息,當我檢查數據庫時,未插入數據。這就像它只是刷新頁面。
告訴我們發生了什麼問題。 –
你很容易受到[sql注入攻擊](http://bobby-tables.com)的攻擊,並且你的表單中沒有'submit'元素,所以你的$ _POST ['submit']'檢查總是會返回假,無論如何跳過所有的DB代碼。 –
試試看 - > if($ _ SERVER ['REQUEST_METHOD'] =='POST){< - 而不是 - > if(isset($ _ POST ['submit'])){ – IceJOKER