Contact Form : comment pourrais-je afficher les messages envoyés
MicSoldier
Messages postés
31
Date d'inscription
Statut
Membre
Dernière intervention
-
jordane45 Messages postés 38486 Date d'inscription Statut Modérateur Dernière intervention -
jordane45 Messages postés 38486 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
je voudrais savoir comment pourrais-je afficher les messages envoyés par les utilisateurs dans une page (vosmessages.php) par exemple ?
j'ai utilisé l'echo suivant, mais je veux qu'a chaque fois que je clique par exemple sur une ligne une page (modal) m'affichera le message envoyé par un utilisateur.
Voilà, d'une autre façon comment afficher une ligne d'une table "sql" dans notre page (modal) en cliquant sur la ligne ou un button html/php ?
je voudrais savoir comment pourrais-je afficher les messages envoyés par les utilisateurs dans une page (vosmessages.php) par exemple ?
j'ai utilisé l'echo suivant, mais je veux qu'a chaque fois que je clique par exemple sur une ligne une page (modal) m'affichera le message envoyé par un utilisateur.
<?php
while($res = mysqli_fetch_array($result)) {
echo "<tr>";
echo "<td>".$res['nom']."</td>";
echo "<td>".$res['email']."</td>";
echo "<td>".$res['message']."</td>";
echo "<td><a href=\"form/delete.php?id=$res[id]\" onClick=\"return confirm('Confirmer la supression.')\">Delete</a></td>";
}
?>
Voilà, d'une autre façon comment afficher une ligne d'une table "sql" dans notre page (modal) en cliquant sur la ligne ou un button html/php ?
A voir également:
- Contact Form : comment pourrais-je afficher les messages envoyés
- Recuperer contact carte sim - Guide
- Retrouver contact supprimé - Accueil - Android
- Localiser un contact - Guide
- Supprimer un contact messenger qui n'est pas ami facebook ✓ - Forum Facebook Messenger
- Google form sans compte google - Forum Google Docs
3 réponses
Bonjour,
Je ne comprends pas ce que tu souhaites.
Tu parles de messages envoyer par un utilisateur, d'accord.
Et après tu montres un code qui génère des lignes d'un tableau à partir d'une base de données.
Qu'elle est le rapport entre les deux ?
Je ne comprends pas ce que tu souhaites.
Tu parles de messages envoyer par un utilisateur, d'accord.
Et après tu montres un code qui génère des lignes d'un tableau à partir d'une base de données.
Qu'elle est le rapport entre les deux ?
Bonjour,
Plusieurs possibilités ...
Si une autre page .. dans ce cas tu peux utiliser la même chose que pour ton "delete" .. à savoir un lien dans lequel tu mets l'id de l'élément à ouvrir.
Ou un javascript qui fera un window.open (toujours avec l'id de l'élément à ouvrir dans le lien )
Si pour une modal ... Tu peux te faire un AJAX qui va récupérer les données et les afficher dedans.
alors, je bloque à ce niveau ! je veux bien savoir comment je pourrais cliquer sur une ligne de ce tableau générer, est une page ou un dialogue box (modal) s'affichera avec le contenu du ligne (nom, email, message)
Plusieurs possibilités ...
Si une autre page .. dans ce cas tu peux utiliser la même chose que pour ton "delete" .. à savoir un lien dans lequel tu mets l'id de l'élément à ouvrir.
Ou un javascript qui fera un window.open (toujours avec l'id de l'élément à ouvrir dans le lien )
Si pour une modal ... Tu peux te faire un AJAX qui va récupérer les données et les afficher dedans.
Oui mais comment ? c'est quoi le code que je dois mettre pour m'afficher la ligne entière (une ligne seulement) comme le format suivant dans une modal ou tout simeplement un dialogue box comme celui qui s'affiche pour delete :
Nom : xxxx
email : xxxx@xxxxx
message: xxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxx
c'est le code pour "delete"
pour la page "delete.php" :
Merci d'avance
Nom : xxxx
email : xxxx@xxxxx
message: xxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxx
c'est le code pour "delete"
echo "<td><a href=\"form/delete.php?id=$res[id]\" onClick=\"return confirm('Confirmer la supression.')\">Delete</a></td>";
pour la page "delete.php" :
<?php session_start(); ?>
<?php
if(!isset($_SESSION['id_admin'])) {
header('Location: ../../admin/login.php');
}
?>
<?php
//including the database connection file
include("../../config/dbconnect.php");
//getting id of the data from url
$id = $_GET['id'];
//deleting the row from table
$result=mysqli_query($connect, "DELETE FROM contact_form WHERE id=$id");
//redirecting to the display page (view.php in our case)
header("Location:../home.php");
?>
Merci d'avance
déjà .. ne confond pas les dialogbox (alert, confirm ..) avec des modal (même si c'est presque identique... elles ne sont pas "personnalisables" ).
Une modal c'est ça par exemple :
https://jqueryui.com/dialog/
ensuite, pour la code côté php .. tu fais pareil que pour le delete .. sauf que la requête sera un SELECT WHERE
Et pour finir .. un exemple d'ajax : https://forums.commentcamarche.net/forum/affich-33258760-remplir-un-formulaire-dynamiquement-en-fonction-d-une-combobox#2
(à adapter pour afficher une modal au lieu de remplir une liste déroulante .... mais le principe reste le même )
Une modal c'est ça par exemple :
https://jqueryui.com/dialog/
ensuite, pour la code côté php .. tu fais pareil que pour le delete .. sauf que la requête sera un SELECT WHERE
Et pour finir .. un exemple d'ajax : https://forums.commentcamarche.net/forum/affich-33258760-remplir-un-formulaire-dynamiquement-en-fonction-d-une-combobox#2
(à adapter pour afficher une modal au lieu de remplir une liste déroulante .... mais le principe reste le même )
Normalement .. je ne fourni pas de code tout cuit ..(je ne suis pas là pour ça .... ). mais bon....
NB : Codé de tête sans avoir testé ...
Le code php à mettre dans un fichier : messages.ajx.php
côté html tu dois créer une div "modal"
Tu dois également, dans ton affichage actuel, ajouter un lien qui permette d'ouvrir la fenêtre
par exemple :
Coté javascript
bien entendu .. tu auras suivi les indications données dans mes liens précédents .. et tu aura chargé jquery et jquery-ui.
Par exemple :
(le mieux étant de télécharger les scripts directement dans ton site au lieu de les appeller depuis les liens web ...)
Jquery est récupérable ici :
https://code.jquery.com/jquery-3.2.1.min.js
(tu n'as qu'à faire : enregistrer sous depuis le menu de ton navigateur ..)
et jquery ui :
https://jqueryui.com/download/
(tu laisses tout par défaut et tu cliques sur le lien en bas de page)
Pour personnaliser la modal... tu peux regarder la doc ici :
https://api.jqueryui.com/dialog/#option-modal
NB : En cas de souci dans le code .... pense à regarder dans le debogueur de ton navigateur (dans la "console") voir si il n'y aurait pas des messages d'erreur...
NB² : Je te conseille d'utiliser FireFox (et son plugin firebug) pour déboguer ... sinon pense, pour Chrome, à télécharger le débogueur ajax.
https://chrome.google.com/webstore/detail/ajax-debugger/lgfefckpdealogpcfjdhinecfbcgedam
NB : Codé de tête sans avoir testé ...
Le code php à mettre dans un fichier : messages.ajx.php
<?php //fichier messages.ajx.php session_start(); if(!isset($_SESSION['id_admin'])) { header('Location: ../../admin/login.php'); exit(); } //including the database connection file require_once("../../config/dbconnect.php"); //récupérer PROPREMENT les variables AVANT de les utiliser $id = !empty($_POST['id']) ? $_POST['id'] : NULL; $result=array(); // tableau de sorti. if($id){ $sql = "SELECT * FROM contact_form WHERE id='$id'"; if(!$result=mysqli_query($connect, $sql)){ echo("Error : " . mysqli_error($connect)); } //on créé un array avec toutes les données issues de la requête while($row = $result->fetch_array(MYSQLI_ASSOC)){ $result[] = $row; } }else{ $result['error'] = "No id !"; } //on retourne l'array en json echo json_encode($result); ?>
côté html tu dois créer une div "modal"
<div id="dialog-form" style="display: none"></div>
Tu dois également, dans ton affichage actuel, ajouter un lien qui permette d'ouvrir la fenêtre
par exemple :
echo "<td><button class="open_dialog" data-id='".$id."'>Ouvrir</button></td>";
Coté javascript
$(function () { $("#dialog").dialog({ autoOpen: false, modal: true, title: "Message", buttons: { Close: function () { $(this).dialog('close'); } } }); $(".open_dialog").click(function () { var urlAjx = "messages.ajx.php"; // Fichier ajax PHP var id = $(this).data('id'); $.ajax({ type: "POST", url: urlAjx, data: {id:id}, contentType: "application/json; charset=utf-8", dataType: "json", success: function (r) { var contentDialog; contentDialog += "<span>"+r.id+"</span>"; contentDialog += "<span>"+r.nom+"</span>"; contentDialog += "<span>"+r.email+"</span>"; contentDialog += "<span>"+r.message+"</span>"; $("#dialog").html(contentDialog); $("#dialog").dialog("open"); } }); }); });
bien entendu .. tu auras suivi les indications données dans mes liens précédents .. et tu aura chargé jquery et jquery-ui.
Par exemple :
<script src="https://code.jquery.com/jquery-1.12.4.js"></script> <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
(le mieux étant de télécharger les scripts directement dans ton site au lieu de les appeller depuis les liens web ...)
Jquery est récupérable ici :
https://code.jquery.com/jquery-3.2.1.min.js
(tu n'as qu'à faire : enregistrer sous depuis le menu de ton navigateur ..)
et jquery ui :
https://jqueryui.com/download/
(tu laisses tout par défaut et tu cliques sur le lien en bas de page)
Pour personnaliser la modal... tu peux regarder la doc ici :
https://api.jqueryui.com/dialog/#option-modal
NB : En cas de souci dans le code .... pense à regarder dans le debogueur de ton navigateur (dans la "console") voir si il n'y aurait pas des messages d'erreur...
NB² : Je te conseille d'utiliser FireFox (et son plugin firebug) pour déboguer ... sinon pense, pour Chrome, à télécharger le débogueur ajax.
https://chrome.google.com/webstore/detail/ajax-debugger/lgfefckpdealogpcfjdhinecfbcgedam
- le message est envoyé via un form contact sur le site
- ce message alors conservé dans une table de ma base de données
- j'ai mis le code qui génère le tableau (contact_form) dans une page (comme une boite de réception)
- alors, je bloque à ce niveau ! je veux bien savoir comment je pourrais cliquer sur une ligne de ce tableau générer, est une page ou un dialogue box (modal) s'affichera avec le contenu du ligne (nom, email, message)
voilà ! merci d'avance