【发布时间】:2020-07-19 13:58:51
【问题描述】:
我是一名计算机科学专业的学生,大二。为了独立学习,我决定使用以下技术创建一个网站:SQL、PHP、JS、AJAX、BOOTSTRAP。我正在尝试向数据库添加内容,我使用 AJAX - 我不想刷新页面,所以我使用 AJAX。我设法将内容添加到数据库 - 但页面刷新。 我尝试使用 jquery - 当我添加内容时 - 来防止刷新。代码有效 - 但仍有刷新。
访问数据库的代码:
<?php
$DBConInfo = [
'server' => '127.0.0.1',
'username' => 'root',
'password' => '',
'name' => 'test',
];
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$conn = new mysqli($DBConInfo['server'],$DBConInfo['username'], $DBConInfo['password'],$DBConInfo['name']);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
echo "Connected successfully";
// php code to Insert data into mysql database from input text
if(isset($_POST['insert']))
{
$hostname = "127.0.0.1";
$username = "root";
$password = "";
$databaseName = "test";
// get values form input text and number
$name = $_POST['name'];
$description = $_POST['description'];
$price = $_POST['price'];
$picture = $_POST['picture'];
// mysql query to insert data
$query = "INSERT INTO `product`(`name`,`description`, `price`, `picture`) VALUES ('$name','$description','$price','$picture')";
$result = mysqli_query($conn,$query);
// check if mysql query successful
if($result) {
echo 'Data Inserted';
}
else{
echo 'Data Not Inserted';
var_dump($conn->error);
}
//mysqli_free_result($result);
mysqli_close($conn);
}
?>
<!DOCTYPE html>
<html>
<head>
<title> PHP INSERT DATA </title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body>
<form id="form-insert" action="" method="post">
<!--<input type="text" name="id" required placeholder="id"><br><br>-->
<input type="text" name="name" required placeholder="Name"><br><br>
<input type="text" name="description" required placeholder="description" min="10" max="100"><br><br>
<input type="text" name="price" required placeholder="price"><br><br>
<input type="text" name="picture" required placeholder="picture" min="10" max="100"><br><br>
<input id="submit-insert" type="submit" name="insert" value="Add Data To Database">
</form>
<span id="result"></span>
<script src="script/jquery-1.8.1.min.js" type="text/javascript"></script>
<script src ="js/DBscript.js" type="text/javascript"></script>
</body>
</html>
使用 ajax - 防止刷新:
$("#submit-insert").click( function() {
$.post( $("#form-insert").attr("action"),
$("#form-insert :input").serializeArray(),
function(info){ $("#result").html(info);
});
//clearInput();
});
$("#form-insert").submit( function() {
return false;
});
function clearInput() {
$("#form-insert :input").each( function() {
$(this).val('');
});
}
【问题讨论】:
标签: javascript php html jquery mysql