Messagerie privé
Résolu
LaChaux78
Messages postés
583
Date d'inscription
Statut
Membre
Dernière intervention
-
yg_be Messages postés 23541 Date d'inscription Statut Contributeur Dernière intervention -
yg_be Messages postés 23541 Date d'inscription Statut Contributeur Dernière intervention -
A voir également:
- Messagerie privé
- Numero prive - Guide
- Navigateur privé - Guide
- Créer un compte instagram privé - Guide
- Hotmail messagerie - Guide
- Google photos album privé - Guide
9 réponses
Bonjour,
Il faudrait que tu nous montres ton code source php :
- La page où le formulaire est codé ;
- La page où les données sont récupérées et insérées en base.
Xavier
Il faudrait que tu nous montres ton code source php :
- La page où le formulaire est codé ;
- La page où les données sont récupérées et insérées en base.
Xavier
Bonjour,
<h1>Envoyer un message</h1> <?php $PARAM = array ( 'IDMESS' => isset($_REQUEST['idmess']) ? $_REQUEST['idmess'] : '', 'IDEXP' => isset($_POST['idexp']) ? $_POST['idexp'] : '', 'DMESS' => isset($_POST['dmess']) ? dw2m($_POST['dmess']) : '', 'TMESS' => isset($_POST['tmess']) ? $_POST['tmess'] : '', 'MESS' => isset($_POST['mess']) ? $_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': if (!isset ($_POST['envoyer'])) { $erreur = "<span class='erreur'>Tu n'as pas sélectionné de membres !</span>"; } elseif ($_POST['tmess'] == '' || ($_POST['mess'] =='')) { $erreur = "<span class='erreur'>Renseigne le Titre et le Message !</span>"; } elseif (isset($_FILES["upload_localfile"]) && $_FILES['upload_localfile']['name'] != "") { $file_name = $_FILES['upload_localfile']['name']; $file_extension = strrchr($file_name, "."); $file_tmp_name = $_FILES['upload_localfile']['tmp_name']; $file_dest = 'fichiers/'.$file_name; $extensions_autorisees = array('.pdf', '.PDF'); if(in_array($file_extension, $extensions_autorisees)) { if(move_uploaded_file($file_tmp_name, $file_dest)) { $sql = "INSERT INTO cdc_messages (idexp, dmess, tmess, mess, file_nom, file_url) VALUES ('".$_SESSION['idpers']."','".$PARAM['DMESS']."', '".$PARAM['TMESS']."', '".$PARAM['MESS']."', '".$file_name."', '".$file_dest."')"; $requete = $bdd->prepare($sql); $requete->bindParam(':idmess', $PARAM['IDMESS']); $requete->bindParam(':idexp', $_SESSION['idpers']); $requete->bindParam(':dmess', $PARAM['DMESS']); $requete->bindParam(':tmess', $PARAM['TMESS']); $requete->bindParam(':mess', $PARAM['MESS']); $requete->bindParam(':file_nom', $file_name); $requete->bindParam(':file_url', $file_dest); $requete->execute(); $idmess = isset($_POST['idmess']) ? $_POST['idmess'] : NULL; $idmess = $bdd->lastInsertId(); $envoyer = isset($_POST['envoyer']) ? $_POST['envoyer'] : NULL; $iddest = isset($_POST['iddest']) ? $_POST['iddest'] : NULL; if (is_array($envoyer)) { foreach($envoyer as $iddest) { $sql ="INSERT INTO cdc_destinataires (idmess, iddest) VALUES ('".$idmess."', '".$iddest."')"; $requete = $bdd->prepare($sql); $requete->bindParam(':idmess', $idmess); $requete->bindParam(':iddest', $iddest); $requete->execute(); } } $sql = "SELECT nom,prenom,email FROM cdc_personnes WHERE cdc_personnes.idpers = ?"; $requete = $bdd->prepare($sql); foreach ( $_POST['envoyer'] as $idpers ) { $requete->execute(array($idpers)); if ($donnees2 = $requete->fetch()) { // Adresse email des destinataires $destinataire = $donnees2->email; $prenom = $donnees2->prenom; // Titre de l'email $sujet = 'Nouveau message Clique de Cruet'; // Contenu du message de l'email $message = '<html>'; $message .= '<body><p>Bonjour '.$prenom.', <br/>'; $message .= 'Je t\'ai envoyé un nouveau message dans ton espace membre...<br/>'; $message .= 'Bonne lecture.<br/>'; $message .= '<p>'.$_SESSION['prenom'].'</p>'; $message .= '<p style="color:red;">Merci de ne pas répondre à cet email, ceci est un envoi automatique</p></body>'; $message .= '</html>'; // Pour envoyer un email HTML, l'en-tête Content-type doit être défini $headers = 'MIME-Version: 1.0'."\r\n"; $headers .= 'Content-type: text/html; charset=utf-8'."\r\n"; $headers .= 'From:"mon_site"<>'."\n"; // Fonction principale qui envoi l'email mail($destinataire, $sujet, $message, $headers); } } $success = "<span class='success'>Message envoyé avec Pièce Jointe !</span>"; } else { $erreur = "<span class='erreur'>Ton fichier est trop volumineux, impossible de l'envoyer !</span>"; } } else { $erreur = "<span class='erreur'>Seul les fichiers PDF sont autorisés !</span>"; } } else { $success = "<span class='success'>Message envoyé sans Pièce Jointe !</span>"; } break; } } ?>
Ce code-là est bizarre :
Tu colles directement les valeurs dans $sql et ensuite tu fais des bindParams.
Pareil dans ta requête « INSERT INTO cdc_destinataires ».
Dans ton $sql, remplace plutôt les valeurs par les labels définis dans les bindParams.
Xavier
$sql = "INSERT INTO cdc_messages (idexp, dmess, tmess, mess, file_nom, file_url) VALUES ('".$_SESSION['idpers']."','".$PARAM['DMESS']."', '".$PARAM['TMESS']."', '".$PARAM['MESS']."', '".$file_name."', '".$file_dest."')"; $requete = $bdd->prepare($sql); $requete->bindParam(':idmess', $PARAM['IDMESS']); $requete->bindParam(':idexp', $_SESSION['idpers']); $requete->bindParam(':dmess', $PARAM['DMESS']); $requete->bindParam(':tmess', $PARAM['TMESS']); $requete->bindParam(':mess', $PARAM['MESS']); $requete->bindParam(':file_nom', $file_name); $requete->bindParam(':file_url', $file_dest); $requete->execute();
Tu colles directement les valeurs dans $sql et ensuite tu fais des bindParams.
Pareil dans ta requête « INSERT INTO cdc_destinataires ».
Dans ton $sql, remplace plutôt les valeurs par les labels définis dans les bindParams.
Xavier
Bonjour
J'ai fait comme tu me l'a suggéré mais les INSERT dans ma BDD ne ce font plus.
Jusque ici tout marchais bien, mais penses tu que cela viens de ça mon soucis?
En envoyant via mon formulaire si je tape du texte sans espace il n'y a pas de soucis.
Merci de tes conseils.
J'ai fait comme tu me l'a suggéré mais les INSERT dans ma BDD ne ce font plus.
Jusque ici tout marchais bien, mais penses tu que cela viens de ça mon soucis?
En envoyant via mon formulaire si je tape du texte sans espace il n'y a pas de soucis.
Merci de tes conseils.
$sql = "INSERT INTO cdc_messages (idexp, dmess, tmess, mess, file_nom, file_url) VALUES (:idpers,:dmess,:tmess,:mess,:file_nom,:file_url)"; $requete = $bdd->prepare($sql); $requete->bindParam(':idmess', $PARAM['IDMESS']); $requete->bindParam(':idexp', $_SESSION['idpers']); $requete->bindParam(':dmess', $PARAM['DMESS']); $requete->bindParam(':tmess', $PARAM['TMESS']); $requete->bindParam(':mess', $PARAM['MESS']); $requete->bindParam(':file_nom', $file_name); $requete->bindParam(':file_url', $file_dest); $requete->execute();
EDIT : Ajout des balises de code
Si mes souvenirs sont bons ... tu utilises PDO ....
Dans ce cas, pourquoi ne pas avoir placé chacune de tes requêtes dans un bloc TRY CATCH pour essayer de voir l'erreur ?
Ensuite, avec le BIND_PARAM .. l'intérêt de l'utiliser... c'est de préciser le TYPE de variable que tu lui envoies.
Par exemple :
Sinon.. autant utiliser un ARRAY dans le execute !
Par exemple :
Dans ce cas, pourquoi ne pas avoir placé chacune de tes requêtes dans un bloc TRY CATCH pour essayer de voir l'erreur ?
Ensuite, avec le BIND_PARAM .. l'intérêt de l'utiliser... c'est de préciser le TYPE de variable que tu lui envoies.
Par exemple :
$stmt->bindParam(':dmess', $PARAM['DMESS'], PDO::PARAM_STR);
Sinon.. autant utiliser un ARRAY dans le execute !
Par exemple :
$sql = "INSERT INTO cdc_messages (idexp, dmess, tmess, mess, file_nom, file_url) VALUES (:idpers,:dmess,:tmess,:mess,:file_nom,:file_url)"; $datas = array( ,':idmess'=> $PARAM['IDMESS'] ,':idexp'=> $_SESSION['idpers'] ,':dmess'=> $PARAM['DMESS'] ,':tmess'=> $PARAM['TMESS'] ,':mess'=> $PARAM['MESS'] ,':file_nom'=> $file_name ,':file_url'=> $file_dest ); try{ $requete = $bdd->prepare($sql); $result = $requete->execute($datas); }catch(Exception $e){ echo "Erreur ! " .$e->getMessage(); }
Déjà là ;... je vois une erreur....
Le nom des variables nommées ne correspondent pas à celles passées dans la requête .....
:idmess d'un côté ...: idpers de l'autre ...
:idexp en trop dans l'array....
Avec les blocs TRY/CATCH ... tu aurais eu l'erreur de suite !
Pour rappel :
https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
.
Le nom des variables nommées ne correspondent pas à celles passées dans la requête .....
:idmess d'un côté ...: idpers de l'autre ...
:idexp en trop dans l'array....
Avec les blocs TRY/CATCH ... tu aurais eu l'erreur de suite !
Pour rappel :
https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour
Je suis en train d'essayer de modifier ce que vous m'avez suggerer, en fait en faisant des essai d'INSERT je me suis aperçu en fait que l'INSERT dans la BDD ne ce fait si je ne met pas de pièce jointe je ne vois pas l'erreur....
Je suis en train d'essayer de modifier ce que vous m'avez suggerer, en fait en faisant des essai d'INSERT je me suis aperçu en fait que l'INSERT dans la BDD ne ce fait si je ne met pas de pièce jointe je ne vois pas l'erreur....
Bonjour,
oui j'utilise bien PDO dans un fichier init.php
j'ai mis à jour les requète et là vlan j'ai une page blanche absolument rien?? Je n'arrive pas à voir ce qui ne va pas.
Merci encore
oui j'utilise bien PDO dans un fichier init.php
j'ai mis à jour les requète et là vlan j'ai une page blanche absolument rien?? Je n'arrive pas à voir ce qui ne va pas.
Merci encore
<h1>Envoyer un message</h1> <?php $PARAM = array ( 'IDMESS' => isset($_REQUEST['idmess']) ? $_REQUEST['idmess'] : '', 'IDEXP' => isset($_POST['idexp']) ? $_POST['idexp'] : '', 'DMESS' => isset($_POST['dmess']) ? dw2m($_POST['dmess']) : '', 'TMESS' => isset($_POST['tmess']) ? $_POST['tmess'] : '', 'MESS' => isset($_POST['mess']) ? $_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': if (!isset ($_POST['envoyer'])) { $erreur = "<span class='erreur'>Tu n'as pas sélectionné de membres !</span>"; } elseif ($_POST['tmess'] == '' || ($_POST['mess'] =='')) { $erreur = "<span class='erreur'>Renseigne le Titre et le Message !</span>"; } elseif (isset($_FILES["upload_localfile"]) && $_FILES['upload_localfile']['name'] != "") { $file_name = $_FILES['upload_localfile']['name']; $file_extension = strrchr($file_name, "."); $file_tmp_name = $_FILES['upload_localfile']['tmp_name']; $file_dest = 'fichiers/'.$file_name; $extensions_autorisees = array('.pdf', '.PDF'); if(in_array($file_extension, $extensions_autorisees)) { if(move_uploaded_file($file_tmp_name, $file_dest)) { $sql = "INSERT INTO cdc_messages (idexp, dmess, tmess, mess, file_nom, file_url) VALUES (:idpers,:dmess,:tmess,:mess,:file_nom,:file_url)"; $datas = array( ,':idexp'=> $_SESSION['idpers'] ,':dmess'=> $PARAM['DMESS'] ,':tmess'=> $PARAM['TMESS'] ,':mess'=> $PARAM['MESS'] ,':file_nom'=> $file_name ,':file_url'=> $file_dest ); try { $requete = $bdd->prepare($sql); $result = $requete->execute($datas); } catch(Exception $e) { echo "Erreur ! " .$e->getMessage(); } $idmess = isset($_POST['idmess']) ? $_POST['idmess'] : NULL; $idmess = $bdd->lastInsertId(); $envoyer = isset($_POST['envoyer']) ? $_POST['envoyer'] : NULL; $iddest = isset($_POST['iddest']) ? $_POST['iddest'] : NULL; if (is_array($envoyer)) { foreach($envoyer as $iddest) { $sql = "INSERT INTO cdc_destinataires (idmess, iddest) VALUES (:idmess,:iddest)"; $datas = array( ,':idmess'=> $idmess ,':iddest'=> $iddest ); try { $requete = $bdd->prepare($sql); $result = $requete->execute($datas); } catch(Exception $e) { echo "Erreur ! " .$e->getMessage(); } } } $sql = "SELECT nom,prenom,email FROM cdc_personnes WHERE cdc_personnes.idpers = ?"; $requete = $bdd->prepare($sql); foreach ( $_POST['envoyer'] as $idpers ) { $requete->execute(array($idpers)); if ($donnees2 = $requete->fetch()) { // Adresse email des destinataires $destinataire = $donnees2->email; $prenom = $donnees2->prenom; // Titre de l'email $sujet = 'Nouveau message Clique de Cruet'; // Contenu du message de l'email $message = '<html>'; $message .= '<body><p>Bonjour '.$prenom.', <br/>'; $message .= 'Je t\'ai envoyé un nouveau message dans ton espace membre...<br/>'; $message .= 'Bonne lecture.<br/>'; $message .= '<p>'.$_SESSION['prenom'].'</p>'; $message .= '<p style="color:red;">Merci de ne pas répondre à cet email, ceci est un envoi automatique</p></body>'; $message .= '</html>'; // Pour envoyer un email HTML, l'en-tête Content-type doit être défini $headers = 'MIME-Version: 1.0'."\r\n"; $headers .= 'Content-type: text/html; charset=utf-8'."\r\n"; $headers .= 'From:"cliquedecruet"<cliquede@60gp.ovh.net>'."\n"; // Fonction principale qui envoi l'email mail($destinataire, $sujet, $message, $headers); } } $success = "<span class='success'>Message envoyé avec Pièce Jointe !</span>"; } else { $erreur = "<span class='erreur'>Ton fichier est trop volumineux, impossible de l'envoyer !</span>"; } } else { $erreur = "<span class='erreur'>Seul les fichiers PDF sont autorisés !</span>"; } } else { $success = "<span class='success'>Message envoyé sans Pièce Jointe !</span>"; } break; } } ?>
dans mon tableau j'ai enlevé les 2 virgule de trop c'est déjà ça.
Mais par contre pourquoi je n'arrive pas à faire les INSERT sans aucune pièce jointe?
Mais par contre pourquoi je n'arrive pas à faire les INSERT sans aucune pièce jointe?
Sans vouloir te vexer... ton code est un vrai bord**
Il faut que tu apprennes à découper en fonction .....
A ne pas faire 10 fois la même chose dans ton code (comme répurer à plusieurs reprises les valeurs de tes variables à plusieurs endroits de ton code....)
A nommer tes variables plus correctement..... j'ai mis une plombe à comprendre que $_POST['envoyer'] etait ta liste de déstinataires...
Bref...
Voici à quoi pourrait (devrait ! ) ressembler ton code :
NB: Je l'ai écrit de tête sans tester.... il peut y avoir des erreurs.
Il faudra les corriger.
Cordialement,
Jordane
Il faut que tu apprennes à découper en fonction .....
A ne pas faire 10 fois la même chose dans ton code (comme répurer à plusieurs reprises les valeurs de tes variables à plusieurs endroits de ton code....)
A nommer tes variables plus correctement..... j'ai mis une plombe à comprendre que $_POST['envoyer'] etait ta liste de déstinataires...
Bref...
Voici à quoi pourrait (devrait ! ) ressembler ton code :
<?php // démarrage des sessions session_start(); //Affichage des erreurs PHP error_reporting(E_ALL); ini_set('display_errors', TRUE); ini_set('display_startup_errors', TRUE); /** * Fonction pour faire une requete INSERT */ function queryInsert($sql,$datas=NULL,$returnLastInsert=false){ global $bdd; try { $requete = $bdd->prepare($sql); $result = $requete->execute($datas); if($returnLastInsert){ $result = $bdd->lastInsertId(); } } catch(Exception $e) { echo "Erreur ! " .$e->getMessage(); } return !empty($result) ? $result : NULL; } /** * Fonction pour faire une requete SELECT * @return Objet */ function querySelect($sql,$datas=NULL){ global $bdd; try { $requete = $bdd->prepare($sql); $requete->execute($datas); $result = $requete->fetchAll(PDO::FETCH_ASSOC); } catch(Exception $e) { echo "Erreur ! " .$e->getMessage(); } return !empty($result) ? $result : NULL; } /** * Fonction Ajouter */ function Ajouter($idexp,$prenomFrom='' ,$dmess ,$tmess ,$mess='' ,$arr_destinataires=array() ,$file_nom='' ,$file_url='' ,$file=NULL ){ if(!empty($file)){ //si fichier : $uploadFile = uploadFile($file,$destDirFile,$extensions_autorisees); if($uploadFile['ETAT']==false){ $erreurFichier = $uploadFile['error']; } }else{ //pas de fichier $erreurFichier = NULL; } //$uploadFile => 'file'=>array('name'=>$file_name,'dest'=>$file_dest,'extension'=>$file_extension) $file_dest = !empty($uploadFile) ? $uploadFile['file_dest'] : NULL; $idmess = CrerMessage($idexp,$dmess,$tmess,$mess,$file_nom,$file_dest); $envoiMail = array(); if($idmess){ if(is_array($arr_destinataires) && !empty($arr_destinataires)) { foreach($arr_destinataires as $iddest) { $envoieMsg[] = sendMessageBdd($idmess,$iddest); $envoiMail[] = envoyerMail($iddest,$prenomFrom); } }else{ //si c'est une string et non un array $envoieMsg = sendMessageBdd($idmess,$arr_destinataires); $envoiMail = envoyerMail($arr_destinataires,$prenomFrom); } $result = array('ETAT'=>true,array('envoiMsg'=>$envoieMsg,'envoiMail'=>$envoiMail,'Erreur_fichier'=>$erreurFichier)); }else{ $result = array('ETAT'=>false,'error'=>'souci lors de l\'enregistrement en bdd'); } return $result; } /** * Fonction pour ajouter un message dans la bdd */ function CrerMessage($idexp,$dmess,$tmess,$mess,$file_nom,$file_dest){ $sql = "INSERT INTO cdc_messages (idexp, dmess, tmess, mess, file_nom, file_url) VALUES (:idpers,:dmess,:tmess,:mess,:file_nom,:file_url)"; $datas = array( ':idexp'=> $idexp ,':dmess'=> $dmess ,':tmess'=> $tmess ,':mess'=> $mess ,':file_nom'=> $file_nom ,':file_url'=> $file_dest ); return queryInsert($sql,$datas,true); } /** * Fonction pour uploader un fichier * $oFile = $_FILE['toninputfile'] */ function uploadFile($oFile=NULL,$destDirFile = 'fichiers/',$extensions_autorisees=array('.pdf', '.PDF')){ $file_name = $oFile['name']; $file_tmp_name = $oFile['tmp_name']; $file_extension = strrchr($file_name, "."); $file_dest = $destDirFile.$file_name; if(in_array($file_extension, $extensions_autorisees)) { if(move_uploaded_file($file_tmp_name, $file_dest)) { $result = array('ETAT'=>true,'file'=>array('name'=>$file_name,'dest'=>$file_dest,'extension'=>$file_extension)); }else{ if(!is_dir($destDirFile)){ $result('ETAT'=>false,'error'=>'Repertoire de destination inconnu !'); }else{ $result('ETAT'=>false,'error'=>'Erreur inconnue durant l\'upload !'); } } }else{ $result('ETAT'=>false,'error'=>'Extension interdite!'); } return $result; } /** * Recupere les infos d'un user */ function getInfosUserById($idpers){ $sql = "SELECT nom,prenom,email FROM cdc_personnes CP WHERE CP.idpers = :idpers"; $datas = array(':idpers'=>$idpers); return querySelect($sql,$datas); } /** * Fonction pour envoyer le message */ function sendMessageBdd($idmess,$iddest){ $sql = "INSERT INTO cdc_destinataires (idmess, iddest) VALUES (:idmess,:iddest)"; $datas = array( ':idmess'=> $idmess ,':iddest'=> $iddest ); return queryInsert($sql,$datas); } /** * Envoie du Mail aux destinataires */ function envoyerMail($idpers,$prenomFrom){ $infosUser = getInfosUserById($idpers); if(!empty($infosUser)){ // Adresse email des destinataires $destinataire = $infosUser->email; $prenom = $infosUser->prenom; // Titre de l'email $sujet = 'Nouveau message Clique de Cruet'; // Contenu du message de l'email $message = '<html>'; $message .= '<body><p>Bonjour '.$prenom.', <br/>'; $message .= 'Je t\'ai envoyé un nouveau message dans ton espace membre...<br/>'; $message .= 'Bonne lecture.<br/>'; $message .= '<p>'.$prenomFrom.'</p>'; $message .= '<p style="color:red;">Merci de ne pas répondre à cet email, ceci est un envoi automatique</p></body>'; $message .= '</html>'; // Pour envoyer un email HTML, l'en-tête Content-type doit être défini $headers = 'MIME-Version: 1.0'."\r\n"; $headers .= 'Content-type: text/html; charset=utf-8'."\r\n"; $headers .= 'From:"cliquedecruet"<cliquede@60gp.ovh.net>'."\n"; // Fonction principale qui envoi l'email $result = mail($destinataire, $sujet, $message, $headers); }else{ $result = array('ETAT'=>false,'error'=>'Problème lors de la récupération des données de l\'utilisateur'); } return !empty($result) ? $result : NULL; } //-------------------------------------------------------------// //Variables pour le fichier //-------------------------------------------------------------// $destDirFile = 'fichiers/'; $extensions_autorisees=array('.pdf', '.PDF'); //-------------------------------------------------------------// //récupération PROPRE des variables AVANT de les utiliser //-------------------------------------------------------------// $idmess = isset($_REQUEST['idmess']) ? $_REQUEST['idmess'] : ''; $idexp = !empty($_POST['idexp']) ? $_POST['idexp'] : NULL; $dmess = isset($_POST['dmess']) ? dw2m($_POST['dmess']) : ''; $tmess = isset($_POST['tmess']) ? $_POST['tmess'] : ''; $mess = isset($_POST['mess']) ? $_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; $file = !empty($_FILE['upload_localfile']) ? $_FILE['upload_localfile'] : NULL; $arr_destinataires = !empty($_POST['envoyer']) ? $_POST['envoyer'] : NULL; $idexp = !empty($_SESSION['idpers']) ? $_SESSION['idpers'] : NULL; $prenomFrom = !empty($_SESSION['prenom']) ? $_SESSION['prenom'] : NULL; //-------------------------------------------------------------// //Autres variables utilisées pour le script //-------------------------------------------------------------// $result = NULL; $erreur = array(); //-------------------------------------------------------------// //début du traitement //-------------------------------------------------------------// switch($action) { case 'ajouter': if(!$idexp){ $erreur[] = "Utilisateur non connecté"; }elseif(empty($arr_destinataires)){ $erreur[] = "Tu n'as pas sélectionné de membres !"; }elseif( !$tmess || $mess){ $erreur[] = "Renseigne le Titre et le Message !"; }else{ $ajouter = Ajouter($idexp ,$prenomFrom ,$dmess ,$tmess ,$mess,$arr_destinataires,$file_nom,$file_url,$file); if($ajoute['ETAT'] == false){ $erreur[] = $ajouter['error']; }else{ $result = $ajouter['result']; } } break; default: $erreur[] = 'Action inconnue'; break; } //----------------------------------------------------------// // Affichage des erreurs si il y en a // (attention ! si tu fais de l'ajax.. cette partie devrai être traitée côté Javascript et non ici !!!) //----------------------------------------------------------// if(!empty($erreur)){ foreach($erreur as $err){ echo "<span class='erreur'>".$err."</span>"; } } //----------------------------------------------------------// // Si tu fais de l'ajax ... decommente cette partie : //----------------------------------------------------------// // echo json_encode($result); ?>
NB: Je l'ai écrit de tête sans tester.... il peut y avoir des erreurs.
Il faudra les corriger.
Cordialement,
Jordane
Au passage, tu me feras plaisir en allant lire ceci (et en l'appliquant ! ) : https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code