I have an HTML code that when I submit it it falls into a fetch javascript that is in the post method, but it is updating the page and changing the url, it should not update the page and it is not inserting in the database.
html:
<form id='formcoment' onsubmit="fetchComent(e)">
<h1>Deixar um comentario:</h1>
<textarea rows="5" name="comentario" id="comentariopessoa" placeholder="Seu comentario aqui"></textarea>
<input type="submit" name="Enviar">
</form>
js fetch func:
function fetchComent(e){
e.preventDefault();
var coment = document.getElementById('comentariopessoa').value;
alert(coment)
fetch('comentar.php', {method: 'Post', body: JSON.stringify({ comentario: coment})}).then(function(resp){
if (resp.status == 200){
res.text().then(function(t){
document.getElementbyId('form').innerHTML = t;
})
}
})}
php:
<?php
require_once('conecta.php');
require_once('banco.php');
session_start();
$main = new Main();
if (!empty($_POST['comentario']) && !empty($_SESSION['nomeuser']) && !empty($_SESSION['iduser'])){
$comentario = $_POST['comentario'];
$nome = $_SESSION['nomeuser'];
$faceid = intval($_SESSION['iduser']);
$main->comentario = $comentario;
$main->nome = $nome;
$main->faceid = $faceid;
$main->insereComentario($conexao);
//header('location:./index.php');
?>
<form id='formcoment' onsubmit="fetchComent()">
<h1>Deixar um comentario:</h1>
<textarea rows="5" name="comentario" id="comentariopessoa"
placeholder="Seu comentario aqui"></textarea>
<input type="submit" name="Enviar">
</form>
<p>Comentario feito com sucesso!</p>
<a href="index.php" onclick="logout()">Sair</a>
<?php
}else{
?>
<form id='formcoment' onsubmit="fetchComent()">
<h1>Deixar um comentario:</h1>
<textarea rows="5" name="comentario" id="comentariopessoa" placeholder="Seu comentario aqui"></textarea>
<input type="submit" name="Enviar">
</form>
<p>Preencha todos os campos</p>
<a href="index.php" onclick="logout()">Sair</a>
<?php
}
?>
the site updates and changes the url to: ....com.br/mae2/?comentario=x+x+x+x+x+&Enviar=Enviar