我正在努力寻找有关将文本区域值发布到mysql的解决方案。我有这个日历应用程序,可以在每天的窗口中单击添加事件。我已经使用Javascript创建了一个函数“ onclick”,以便在本地存储中设置值,并且一切正常。我也想将这些值发布到Mysql的数据库中。在这里,我正在努力寻找解决方案。
我试图用php创建到数据库的连接,并进行了各种设置,但似乎save按钮仅用于将值保存在本地存储中,而他没有将信息发布到sql服务器。
这是我的数据库连接和设置:
<?php
$errors = "";
// connect to database
$db = mysqli_connect("localhost", "root", "pa", "todo");
// insert a quote if submit button is clicked
if (isset($_POST['submit'])) {
if (empty($_POST['task'])) {
$errors = "You must fill in the task";
}else{
$task = $_POST['task'];
$sql = "INSERT INTO tasks (task) VALUES ('$task')";
mysqli_query($db, $sql);
header('location: index.php');
}
}
?>
这是html:
<form action="index.php" method="post" name="myForm">
<textarea class="modal-textarea" method="post" type="textarea" name="task" form="confirmationForm"></textarea>
<div class="modal-btn-wrapper">
<button class="modal-save-btn btn modal-btn" type="submit" name="submit">Save</button>
<button class="modal-cancel-btn btn modal-btn" >Cancel</button>
</form>
I've tried to put post method into the textArea attreibute field.
这是“保存”按钮的Javascript:
const saveButton = modal.querySelector(`.modal-save-btn`);
function onSaveButton(evt) {
evt.preventDefault();
const textEvent = modal.querySelector(`.modal-textarea`).value;
const modalID = modal.getAttribute(`data-id`);
const cellById = calendarBody.querySelector(`td[data-id="${modalID}"]`);
const cellParagraph = cellById.querySelector(`p`);
textEvent.submit();
// set text in localStorage
localStorage.setItem(modalID, textEvent);
// create layout text event massage
cellParagraph.innerHTML = textEvent;
onCloseButton();
}
单击该保存按钮会将文本保存在日历窗口中,但是该按钮未将信息提交到sql服务器(我可以看到页面没有像应有的那样重新加载)。