Contact Form : comment pourrais-je afficher les messages envoyés
Fermé
MicSoldier
Messages postés
31
Date d'inscription
lundi 9 août 2010
Statut
Membre
Dernière intervention
12 mai 2017
-
10 mai 2017 à 00:59
jordane45 Messages postés 38446 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 28 février 2025 - 12 mai 2017 à 02:11
jordane45 Messages postés 38446 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 28 février 2025 - 12 mai 2017 à 02:11
A voir également:
- Contact Form : comment pourrais-je afficher les messages envoyés
- Retrouver contact supprimé - Accueil - Android
- Créer un groupe whatsapp sans contact - Guide
- Recuperer contact carte sim - Guide
- Bloquer contact whatsapp - Guide
- Imessage ne fonctionne plus avec un contact ✓ - Forum iPhone
3 réponses
Felice_
Messages postés
265
Date d'inscription
mardi 25 avril 2017
Statut
Membre
Dernière intervention
20 juillet 2017
11
10 mai 2017 à 09:42
10 mai 2017 à 09:42
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 ?
jordane45
Messages postés
38446
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
28 février 2025
4 737
11 mai 2017 à 14:06
11 mai 2017 à 14:06
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.
MicSoldier
Messages postés
31
Date d'inscription
lundi 9 août 2010
Statut
Membre
Dernière intervention
12 mai 2017
3
Modifié le 11 mai 2017 à 15:22
Modifié le 11 mai 2017 à 15:22
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
jordane45
Messages postés
38446
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
28 février 2025
4 737
>
MicSoldier
Messages postés
31
Date d'inscription
lundi 9 août 2010
Statut
Membre
Dernière intervention
12 mai 2017
11 mai 2017 à 16:45
11 mai 2017 à 16:45
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 )
MicSoldier
Messages postés
31
Date d'inscription
lundi 9 août 2010
Statut
Membre
Dernière intervention
12 mai 2017
3
>
jordane45
Messages postés
38446
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
28 février 2025
12 mai 2017 à 00:49
12 mai 2017 à 00:49
Je suis vraiment nul :/
S'il vous plait je sais que c'est facile pour, si vous voulez bien me procurer le code pour un tableau avec lire / supprimer pour chaque id.
Tableau "contact_form": id, nom, email, message.
S'il vous plait merci d'avance
S'il vous plait je sais que c'est facile pour, si vous voulez bien me procurer le code pour un tableau avec lire / supprimer pour chaque id.
Tableau "contact_form": id, nom, email, message.
S'il vous plait merci d'avance
jordane45
Messages postés
38446
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
28 février 2025
4 737
12 mai 2017 à 02:11
12 mai 2017 à 02:11
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
Modifié le 11 mai 2017 à 12:07
- 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