Créer une messagerie en PHP
Résolu
LaChaux78
Messages postés
583
Date d'inscription
Statut
Membre
Dernière intervention
-
LaChaux78 Messages postés 583 Date d'inscription Statut Membre Dernière intervention -
LaChaux78 Messages postés 583 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai créé une messagerie afin que chaque membre puisse envoyer des messages privé.
Ce qui est déjà fonctionnelle....
Une page pour envoyer un message à un ou à plusieurs membres à la fois avec la possibilité d'envoyer une pièce jointe.
Une page pour consulter ses messages reçu.
Une page pour lire ses messages envoyé.
Pour terminer je souhaiterai pouvoir répondre à un message reçu, malheureusement je n'y arrive pas.
J'ai créé un bouton "répondre" en cliquant dessus l'id du destinataire est directement affiché dans l'url ce qui devrait me permettre de lui envoyer directement le message.
En fait l'INSERT du destinataire ne ce fait pas, voici la page concernée, si vous pouvez m'aider s'ils vous plait, je vous remercie.
J'ai créé une messagerie afin que chaque membre puisse envoyer des messages privé.
Ce qui est déjà fonctionnelle....
Une page pour envoyer un message à un ou à plusieurs membres à la fois avec la possibilité d'envoyer une pièce jointe.
Une page pour consulter ses messages reçu.
Une page pour lire ses messages envoyé.
Pour terminer je souhaiterai pouvoir répondre à un message reçu, malheureusement je n'y arrive pas.
J'ai créé un bouton "répondre" en cliquant dessus l'id du destinataire est directement affiché dans l'url ce qui devrait me permettre de lui envoyer directement le message.
$lien2 = '_mess_repon.php?dest='.$donnees->idexp.''; echo '<li><a href="'.$lien2.'"><input type="submit" name="submit" value="Répondre">
En fait l'INSERT du destinataire ne ce fait pas, voici la page concernée, si vous pouvez m'aider s'ils vous plait, je vous remercie.
<?php if (isset($_SESSION['idpers']) && $_SESSION['idpers'] != NULL) { $idmess = isset($_POST['idmess']) ? $_POST['idmess'] : NULL; $idexp = !empty($_POST['idexp']) ? $_POST['idexp'] : NULL; $dmess = isset($_POST['dmess']) ? $_POST['dmess'] : ''; $tmess = isset($_POST['tmess']) ? trim($_POST['tmess']) : ''; $mess = isset($_POST['mess']) ? trim($_POST['mess']) : ''; $file_nom = isset($_POST['file_nom']) ? $_POST['file_nom'] : ''; $file_url = isset($_POST['file_url']) ? $_POST['file_url'] : ''; $action = !empty($_POST['action']) ? $_POST['action'] : NULL; switch($action) { case 'ajouter': $sql = "INSERT INTO cdc_messages (idexp, dmess, tmess, mess, file_nom, file_url) VALUES (:idexp,:dmess,:tmess,:mess,:file_nom,:file_url)"; $req = $bdd->prepare($sql); $req->execute(array( ':idexp' => $_SESSION['idpers'], ':dmess' => $dmess, ':tmess' => $tmess, ':mess' => $mess, ':file_nom' => $file_nom, ':file_url' => $file_url)); $idmess = $bdd->lastInsertId(); //On récupère la valeur de l'id du destinataire $dest = (int) $_GET['dest']; $sql = "INSERT INTO cdc_destinataires (idmess, iddest) VALUES ('".$idmess."','".$dest."')"; $requete = $bdd->prepare($sql); $requete->execute(array( ':idmess' => $idmess, ':iddest' => $dest)); break; } echo '<form method="post" name="env" action="'.$_SERVER['PHP_SELF'].'" enctype="multipart/form-data">'; echo '<table border="0" cellspacing="1" cellpadding="5">'; echo '<tr>'; echo '<p>'; echo 'Fichier autoriser (PDF seulement) 1 MO maximum :</br></br>'; echo '<input type="file" name="upload_file" id="upload_file"/>'; echo '</p>'; echo '</tr><tr>'; echo '<td><input type="hidden" name="dmess" value="'.$today.'" size="8"></td>'; echo '</tr><tr>'; echo '<td class="libel">Titre:</td>'; echo '<td><textarea name="tmess" rows="1" cols="40" class="oblig"></textarea></td>'; echo '</tr><tr>'; echo '<td class="libel">Message:</td>'; echo '<td><textarea name="mess" rows="6" cols="40"></textarea></td>'; echo '</tr><tr>'; echo '<td><input type="hidden" name="action" value="ajouter"></td>'; echo '<td class="data"><input type="submit" name="submit" value="Envoyer le message"></td>'; echo '</tr>'; echo '</table>'; echo '</form>'; } else { redir("index.php"); } ?>
A voir également:
- Créer une messagerie en PHP
- Comment créer un groupe whatsapp - Guide
- Créer un compte google - Guide
- Créer une adresse hotmail - Guide
- Créer un lien pour partager des photos - Guide
- Créer une liste déroulante excel - Guide
4 réponses
Bonjour,
Commence par appliquer les conseils que je t'ai déjà donné à plusieurs reprises concernant l'écriture de ton code .. et plus particulièrement sur l'utilisation des TRY/CATCH au niveau de tes requêtes !
Ensuite.... revient nous montrer le code modifié si le souci persiste....
Là seulement on regardera.
pour rappel : https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
Et : https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
Commence par appliquer les conseils que je t'ai déjà donné à plusieurs reprises concernant l'écriture de ton code .. et plus particulièrement sur l'utilisation des TRY/CATCH au niveau de tes requêtes !
Ensuite.... revient nous montrer le code modifié si le souci persiste....
Là seulement on regardera.
pour rappel : https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
Et : https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
Bonjour,
Je te renvoie mon code modifié.
Je te renvoie mon code modifié.
<?php if (isset($_SESSION['idpers']) && $_SESSION['idpers'] != NULL) { $idmess = isset($_REQUEST['idmess']) ? $_REQUEST['idmess'] : NULL; $idexp = !empty($_POST['idexp']) ? $_POST['idexp'] : ''; $dmess = isset($_POST['dmess']) ? $_POST['dmess'] : ''; $tmess = isset($_POST['tmess']) ? trim($_POST['tmess']) : ''; $mess = isset($_POST['mess']) ? trim($_POST['mess']) : ''; $file_nom = isset($_POST['file_nom']) ? $_POST['file_nom'] : ''; $file_url = isset($_POST['file_url']) ? $_POST['file_url'] : ''; if (isset($_REQUEST['action']) AND !empty($_REQUEST['action'])) { switch($_REQUEST['action']) { case 'ajouter': $sql = "INSERT INTO cdc_messages (idexp, dmess, tmess, mess, file_nom, file_url) VALUES (:idexp,:dmess,:tmess,:mess,:file_nom,:file_url)"; $datas = array( ':idexp'=>$idexp, ':dmess'=>$dmess, ':tmess'=>$tmess, ':mess'=>$mess, ':file_nom'=>$file_nom, ':file_url'=>$file_url); try { $requete = $bdd -> prepare($sql) ; $requete->execute($datas) ; } catch(Exception $e) { echo " Erreur ! ".$e->getMessage(); echo " Les datas : " ; print_r($datas); } $idmess = $bdd->lastInsertId(); $iddest = isset($_POST['iddest']) ? $_POST['iddest'] : ''; $sql = "INSERT INTO cdc_destinataires (idmess, iddest) VALUES (:idmess,:iddest)"; $datas = array( ':idmess'=>$idmess, ':iddest'=>$iddest); try { $requete = $bdd -> prepare($sql) ; $requete->execute($datas) ; } catch(Exception $e) { echo " Erreur ! ".$e->getMessage(); echo " Les datas : " ; print_r($datas); } break; } } echo '<form method="post" name="env" action="'.$_SERVER['PHP_SELF'].'" enctype="multipart/form-data">'; echo '<table border="0" cellspacing="1" cellpadding="5">'; echo '<tr>'; echo '<p>'; echo 'Fichier autoriser (PDF seulement) 1 MO maximum :</br></br>'; echo '<input type="file" name="upload_file" id="upload_file"/>'; echo '</p>'; echo '</tr><tr>'; echo '<td><input type="hidden" name="dmess" value="'.$today.'" size="8"></td>'; echo '</tr><tr>'; echo '<td class="libel">Titre:</td>'; echo '<td><textarea name="tmess" rows="1" cols="40" class="oblig"></textarea></td>'; echo '</tr><tr>'; echo '<td class="libel">Message:</td>'; echo '<td><textarea name="mess" rows="6" cols="40"></textarea></td>'; echo '</tr><tr>'; echo '<td><input type="hidden" name="action" value="ajouter"></td>'; echo '<td class="data"><input type="submit" name="submit" value="Envoyer le message"></td>'; echo '</tr>'; echo '</table>'; echo '</form>'; } else { redir("index.php"); } ?>
Bonjour
En fait le try/catch ne me renvoie aucune erreur. L'INSERT "iddest" de la table cdc_destinataires ne ce fait pas.
En fait le try/catch ne me renvoie aucune erreur. L'INSERT "iddest" de la table cdc_destinataires ne ce fait pas.
<?php if (isset($_SESSION['idpers']) && $_SESSION['idpers'] != NULL) { $idmess = isset($_REQUEST['idmess']) ? $_REQUEST['idmess'] : NULL; $idexp = !empty($_POST['idexp']) ? $_POST['idexp'] : ''; $dmess = isset($_POST['dmess']) ? $_POST['dmess'] : ''; $tmess = isset($_POST['tmess']) ? trim($_POST['tmess']) : ''; $mess = isset($_POST['mess']) ? trim($_POST['mess']) : ''; $file_nom = isset($_POST['file_nom']) ? $_POST['file_nom'] : ''; $file_url = isset($_POST['file_url']) ? $_POST['file_url'] : ''; if (isset($_REQUEST['action']) AND !empty($_REQUEST['action'])) { switch($_REQUEST['action']) { case 'ajouter': $sql = "INSERT INTO cdc_messages (idexp, dmess, tmess, mess, file_nom, file_url) VALUES (:idexp,:dmess,:tmess,:mess,:file_nom,:file_url)"; $datas = array( ':idexp'=>$idexp, ':dmess'=>$dmess, ':tmess'=>$tmess, ':mess'=>$mess, ':file_nom'=>$file_nom, ':file_url'=>$file_url); try { $requete = $bdd -> prepare($sql) ; $requete->execute($datas) ; } catch(Exception $e) { echo " Erreur ! ".$e->getMessage(); echo " Les datas : " ; print_r($datas); } $idmess = $bdd->lastInsertId(); $iddest = isset($_POST['iddest']) ? $_POST['iddest'] : ''; $sql = "INSERT INTO cdc_destinataires (idmess, iddest) VALUES (:idmess,:iddest)"; $datas = array( ':idmess'=>$idmess, ':iddest'=>$iddest); try { $requete = $bdd -> prepare($sql) ; $requete->execute($datas) ; } catch(Exception $e) { echo " Erreur ! ".$e->getMessage(); echo " Les datas : " ; print_r($datas); } break; } } echo '<form method="post" name="env" action="'.$_SERVER['PHP_SELF'].'" enctype="multipart/form-data">'; echo '<table border="0" cellspacing="1" cellpadding="5">'; echo '<tr>'; echo '<p>'; echo 'Fichier autoriser (PDF seulement) 1 MO maximum :</br></br>'; echo '<input type="file" name="upload_file" id="upload_file"/>'; echo '</p>'; echo '</tr><tr>'; echo '<td><input type="hidden" name="dmess" value="'.$today.'" size="8"></td>'; echo '</tr><tr>'; echo '<td class="libel">Titre:</td>'; echo '<td><textarea name="tmess" rows="1" cols="40" class="oblig"></textarea></td>'; echo '</tr><tr>'; echo '<td class="libel">Message:</td>'; echo '<td><textarea name="mess" rows="6" cols="40"></textarea></td>'; echo '</tr><tr>'; echo '<td><input type="hidden" name="action" value="ajouter"></td>'; echo '<td class="data"><input type="submit" name="submit" value="Envoyer le message"></td>'; echo '</tr>'; echo '</table>'; echo '</form>'; } else { redir("index.php"); } ?>
Sauf que là.. vu que tu passes par une URL .. il n'y a pas de POST ... mais des GET