在myapp项目中为首页html中的导航菜单“联系我们”设置内容,内容为让用户必须登录后填写名称,意见,联系方式这三项内容,点击提交后内容发送到系统的后台数据库中,建一个对应的mysql库,后台管理员可以查看提交的信息
时间: 2024-05-15 08:12:16 浏览: 108
Submit_form:用ajax提交,然后数据将保存在MySQL数据库中
好的,让我们来一步步实现这个功能:
1. 首先,在导航菜单中添加“联系我们”按钮,并设置链接为一个新的页面,例如contact.html。
2. 在contact.html页面中添加一个表单,包括输入框和提交按钮。在输入框中分别设置名称、意见和联系方式三个字段,同时设置必填项验证和合法性验证。
3. 在提交按钮上添加一个JavaScript事件,当用户点击提交按钮时,将表单数据发送到后台数据库中。可以使用AJAX技术将表单数据发送到后端接口。
4. 在后端接口中,接收表单数据,并将其写入到对应的MySQL数据库中。可以使用Node.js和Express框架来实现后端接口,并使用MySQL作为数据库。
5. 在后端管理员界面中,可以查看所有用户提交的信息,可以使用PHP和MySQL来实现管理员界面。
下面是一个简单的示例代码,供您参考:
1. contact.html页面:
``` html
<!DOCTYPE html>
<html>
<head>
<title>联系我们</title>
<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
</head>
<body>
<form id="contact-form">
<label for="name">名称:</label>
<input type="text" id="name" name="name" required>
<br>
<label for="opinion">意见:</label>
<textarea id="opinion" name="opinion" required></textarea>
<br>
<label for="contact">联系方式:</label>
<input type="text" id="contact" name="contact" required>
<br>
<input type="submit" value="提交">
</form>
<script>
$(document).ready(function() {
$("#contact-form").submit(function(e) {
e.preventDefault();
$.ajax({
url: "/submit-contact",
method: "POST",
data: $(this).serialize(),
success: function(response) {
alert("提交成功!");
$("#contact-form")[0].reset();
},
error: function(error) {
alert("提交失败:" + error.responseText);
}
});
});
});
</script>
</body>
</html>
```
2. 后端接口:
``` javascript
const express = require("express");
const mysql = require("mysql");
const app = express();
app.use(express.json());
const connection = mysql.createConnection({
host: "localhost",
user: "root",
password: "password",
database: "myapp"
});
connection.connect((error) => {
if (error) {
console.log("数据库连接失败:" + error.message);
} else {
console.log("数据库连接成功!");
}
});
app.post("/submit-contact", (req, res) => {
const { name, opinion, contact } = req.body;
const sql = "INSERT INTO contacts (name, opinion, contact) VALUES (?, ?, ?)";
connection.query(sql, [name, opinion, contact], (error) => {
if (error) {
console.log("提交失败:" + error.message);
res.status(500).send(error.message);
} else {
console.log("提交成功!");
res.send("提交成功!");
}
});
});
app.listen(3000, () => {
console.log("服务器已启动!");
});
```
3. 后端管理员界面:
``` php
<?php
$servername = "localhost";
$username = "root";
$password = "password";
$dbname = "myapp";
$conn = mysqli_connect($servername, $username, $password, $dbname);
if (!$conn) {
die("数据库连接失败:" . mysqli_connect_error());
}
$sql = "SELECT * FROM contacts";
$result = mysqli_query($conn, $sql);
if (mysqli_num_rows($result) > 0) {
echo "<table>";
echo "<tr><th>名称</th><th>意见</th><th>联系方式</th></tr>";
while ($row = mysqli_fetch_assoc($result)) {
echo "<tr><td>" . $row["name"] . "</td><td>" . $row["opinion"] . "</td><td>" . $row["contact"] . "</td></tr>";
}
echo "</table>";
} else {
echo "没有数据!";
}
mysqli_close($conn);
?>
```
以上是一个简单的实现方案,您可以根据自己的需求进行修改和优化。
阅读全文