Ce site utilise des cookies pour améliorer uniquement votre expérience utilisateur.
Vous pouvez lire à tout moment comment nous utilisons les cookies sur le site.
Salut à tous,
Je travail actuellement sur la série Developper son site de A à Z et je l'ai quasiment fini
Sauf que j'y intègre le système de chat de la formation sur le site de rencontre et tout se deroulait bien sauf a la partie 13.4 de la formation sur le site de rencontre qui est la première partie sur la non rechargement de la page ou on intègre les script et du Ajax et c'est a partir de la que rien ne marche, les messages continue d'aller normalement mais ne font que recharger la page et me renvoie a la tete de la page, chose qui n'est pas vraiment agréable,
Merci d'avance
<?php
session_start();
include('bd/connexionDB.php');
if(!isset($_SESSION['id'])){
header('Location: index.php');
exit;
}
$get_id = (int) $_GET['id'];
if ($get_id <= 0) {
header('Location: messagerie.php');
exit;
// code...
}
$verifier_relation = $DB->query("SELECT id FROM relation WHERE ((id_demandeur, id_receveur) = (:id1, :id2)
OR (id_demandeur, id_receveur) = (:id2, :id1)) AND statut = :statut",
array('id1' => $_SESSION['id'], 'id2' => $get_id, 'statut' => 2));
$verifier_relation = $verifier_relation->fetchAll();
if (isset($verifier_relation['id'])) {
header('Location: messagerie.php');
exit;
// code...
}
if (!empty($_POST)) {
extract($_POST);
$valid = true;
if (isset($_POST['envoyer'])) {
$message = (string) trim($message);
if (empty($message)) {
$valid = false;
// code...
}
if ($valid) {
$date_message = date("Y-m-d h:m:s");
$DB->insert("INSERT INTO messagerie (id_from, id_to, message, date_message, lu) VALUES (?, ?, ?, ?, ?)",
array($_SESSION['id'], $get_id, $message, $date_message, 1));
header('Location: message.php?id=' . $get_id);
exit;
// code...
}
// code...
}
}
$afficher_message = $DB->query("SELECT * FROM messagerie WHERE ((id_from, id_to) = (:id1, :id2)
OR (id_from, id_to) = (:id2, :id1)) ORDER BY date_message ",
array('id1' => $_SESSION['id'], 'id2' => $get_id));
$afficher_message = $afficher_message->fetchAll();
$afficher_profil = $DB->query("SELECT *
FROM utilisateur
WHERE id = ?",
array($get_id));
$afficher_profil = $afficher_profil->fetch();
?>
<!doctype html>
<html lang="fr">
<head>
<!-- <base href="/"/> -->
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Message</title>
<link rel="stylesheet" href="css/bootstrap.min.css">
<?php
if (isset($_SESSION['id']) && $_SESSION['theme'] == 1) {
echo '<link rel="stylesheet" href="style-sombre.css">';
// code...
} else {
echo '<link rel="stylesheet" href="style.css">';
// code...
}
?>
</head>
<body>
<?php
require_once('nav.php');
?>
<div class="container">
<div class="row">
<div class="container col-md-8" style="margin-top:40px;">
<div style="margin:25px;">
<?php
if (file_exists("public/avatars/".$_SESSION['id']. "/" .$_SESSION['avatar']) && isset($_SESSION['avatar'])) {
?>
<img src="<?= "public/avatars/".$_SESSION['id']. "/" .$_SESSION['avatar']; ?>" width="120" class="rounded-circle">
<?php
} else{
?>
<?php
}
?>
<img src="public\avatars\defaults\images.png" width="30" class="rounded-circle">
<a href="voir_profil.php?id=<?= $get_id ?>" style=" text-decoration: none;">
<strong><?= $afficher_profil['prenom'] . " " . $afficher_profil['nom']; ?></strong> </a>
<p style=" text-align: right;"><a href="voir_cv.php?id=<?= $get_id ?>" style="text-decoration: none;">
<strong>Curriculum Vitae</strong> </a></p>
</div>
<div style="border-top: 2px solid #ddd; margin: 10px; padding: 5px;"></div>
<?php
foreach($afficher_message as $am){
if ($am['id_from'] == $_SESSION['id']) {
?>
<div class="col-md-4"></div>
<div style="background: #19AAB3; margin: 20px; padding: 5px 10px; border-radius: 20px; color: #fff; text-align:right;">
<?= nl2br($am['message']) ?>
</div>
<div id="afficher-message"></div>
<?php
}else{
?>
<div style="background: #c8d6d4; margin: 20px; padding: 5px 10px; border-radius: 20px; text-align:left;">
<?= nl2br($am['message']) ?>
</div>
<?php
}
}
?>
</div>
<div class="container col-md-7">
<form method="post" id="envoyer" style="float:right;">
<div class="form-group">
<textarea rows="2" cols="50" style="box-shadow: 0 0 10px rgba(0, 0, 0, 0.3); resize:none; border-radius:20px; margin: 5px;"
class="form-control" placeholder="Votre message..." name="message" id="message"></textarea>
</div>
<input style="float:right;" class="btn btn-info" type="submit" name="envoyer" value="Envoyer"/>
</form>
</div>
</div>
</div>
<!-- Optional JavaScript -->
<!-- jQuery first, then Popper.js, then Bootstrap JS -->
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js" integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script>
<script>
$(document).ready(function(){
$('#envoyer').on("submit". function(e){
e.preventDefault();
var id;
var message;
id = <?= json_encode($get_id, JSON_UNESCAPED_UNICODE); ?>;
message = document.getElementById('message').value;
document.getElementById('message').value = '';
if (id > 0 && message != "") {
$.ajax({
url : 'envoyer-message.php',
method : 'Post',
dataType : 'html',
data : {id: id, message: message},
success : function(data){
$('#afficher-message').append(data);
},
error : function(e, xhr, s){
let error = e.responseJSON;
if (e.statut == 403 && typeof error !== 'undefined') {
alert('Erreur 403');
} else if (e.statut == 404) {
alert('Erreur 404');
} else if (e.statut == 401) {
alert('Erreur 401');
} else {
alert('Erreur Ajax');
}
}
});
}
});
});
</script>
</body>
</html>
Re:
On a plus reçu de nouvelles concernant ton problème... L'as-tu résolu ? 🤔
Si c'est le cas, il faut cliquer sur le bouton vert "Résolu" 😉
Salut @Gael-Mk,
Si tu mets ceci :
<script>
$('#envoyer').on("submit". function(e){
e.preventDefault();
alert('ok');
...
});
</script>
Obtiens-tu le message ok dans ton navigateur ?
Si tu n'obtiens pas ce message essaie de recharger complètement le cache de ta page avec la combinaison : Crtl + MAJ + R et retente
Hello @Gael-Mk,
As-tu suivis correctement les vidéos concernant cela ? 🤔
Il faut savoir que le code n'est pas encore disponible en téléchargement étant donné que la formation "Créer son site de rencontres" est en cours de rédaction... Il te faut donc vérifier ce que saisi @Clouder sur son éditeur dans la vidéo...
Il existe également un article de formation sur la création de chat ! Cela pourrait t'aider à résoudre ce problème ! 😉