Vous n'êtes pas identifié(e).
Pages : 1
Bonjour,
Alors voilà mon problème, je cherche à faire un espace commentaires en PHP/AJAX, sauf que les données rentrent très bien dans ma BDD mais ne s'affichent pas sur mon site, je précise que je suis débutant et que je manque de connaissances, soyez compréhensif merci
if(array_key_exists("task", $_GET))
{
$task = $_GET['task'];
}
if($task == "write")
{
postMessage();
}
else
{
getMessages();
}
function getMessages()
{
global $bdd;
$req3 = $bdd->prepare('SELECT (poney_com.com) as coms, id_nom FROM poney_com INNER JOIN poney_nom ON poney_com.id_nom = poney_nom.id WHERE poney_nom.id = '.$_GET['id']);
$req3->execute();
$messages = $req3->fetchAll();
echo json_encode($messages);
$req3->closeCursor();
}
function postMessage()
{
global $bdd;
if(!array_key_exists('content', $_POST))
{
echo json_encode(["status" => "error", "message" => "Un ou plusieurs champs n'ont pas ete envoyes"]);
return;
}
$content = $_POST['content'];
$id = $_POST['id'];
$prep = $bdd->prepare('INSERT INTO poney_com (com, id_nom) VALUES (:com, :id_nom)');
$prep->bindParam(':com', $content);
$prep->bindParam(':id_nom', $id);
echo json_encode(["status" => "Commentaire poste"]);
$prep->closeCursor();
}
?>
function getMessages()
{
const requeteAjax = new XMLHttpRequest();
requeteAjax.open("GET", "commentaires.php" + url);
requeteAjax.onload = function()
{
const resultat = JSON.parse(requeteAjax.responseText);
const html = resultat.reverse().map(function(message)
{
return `
<div class="messages">
<span class="content">${messages.content}</span>
</div>
`
}).join('');
const messages = document.querySelector('.messages');
messages.innerHTML = html;
messages.scrollTop = messages.scrollHeight;
}
requeteAjax.send();
}
function postMessage(event)
{
event.preventDefault();
const content = document.querySelector('#content');
data.append('content', content.value);
const requeteAjax = new XMLHttpRequest();
requeteAjax.open('POST', 'commentaires.php?task=write$id='+ url);
requeteAjax.onload = function()
{
content.value = '';
content.focus();
getMessages();
}
requeteAjax.send(data);
}
document.querySelector('form').addEventListener('submit', postMessage);
const interval = window.setInterval(getMessages, 3000);
getMessages();
Pages : 1