Partage
  • Partager sur Facebook
  • Partager sur Twitter

Passer un message contenant un <br />

en paramètre de fonction...

Sujet résolu
    10 janvier 2009 à 12:07:38

    Bonjour à tous !
    Je suis en ce moment sur le développement de mon site (actuellement en ligne) et je voudrais gérer de façon simple les Messages Privés. Je me suis donc tourné vers JS et, jusque là, tout marchait (à peu près :-° ) bien. Seul problème (détecté ? :-° ), je passe en paramètre de ma fonction JS le message et, si celui-ci contient un retour à la ligne, le script ne fait rien. Je dépose ici les codes concernés :
    bt_recept.php :
    <?php
    	session_start();
    	include("interdiction.php");
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns = "http://www.w3.org/1999/xhtml" xml:lang = "fr">
    	<head>
    		<title>EAgLe : votre agenda en ligne</title>
    		<meta http-equiv = "Content-Type" content = "text/html; charset = iso-8859-1" />
    		<link rel = "stylesheet" media = "screen" title = "Design de l'index" href = "Designs/des_actions_evenements.css" />
    		<link rel = "shortcut icon" type = "image/x-icon" href = "favicon.ico" />
    		<!-- [if IE] -->
    			<style type = "text/css">
    				p
    				{
    					font-family: Arial, serif;
    					font-size: 16px;
    				}
    			</style>
    		<!-- [endif] -->		
    	</head>
    	
    	<body>
    		<script type = "text/javascript" src = "afficher_message.js"></script>
    <?php
    		$jour_cal = htmlspecialchars($_GET['jour_cal']);
    		$mois_cal = htmlspecialchars($_GET['mois_cal']);
    		$annee_cal = htmlspecialchars($_GET['annee_cal']);
    		$lien_accueil = 'index.php';
    		$page_accueil = 'page d\'accueil';
    		$lien_bt_rcpt = 'bt_rcpt.php?jour_cal=' . $jour_cal . '&amp;mois_cal=' . $mois_cal . '&amp;annee_cal=' . $annee_cal;
    		$page_bt_rcpt = 'boîte de réception';
    		$delai_rechargement = 3;
    		
    		if (isset($_SESSION['membres_pseudo_connexion']))
    		{
    			mysql_connect("mysql.*.fr", "*", "*");
    			mysql_select_db("*");
    
    			$repreq1 = mysql_query("SELECT * FROM mp WHERE mp_destinataire = '" . $_SESSION['membres_pseudo_connexion'] . "' ORDER BY mp_id DESC") or die(mysql_error());
    			$repreq2 = mysql_query("SELECT COUNT(*) AS nbre_entrees FROM mp WHERE mp_destinataire = '" . $_SESSION['membres_pseudo_connexion'] . "'") or die(mysql_error());
    			$donreq2 = mysql_fetch_array($repreq2);
    			
    			$fichier = fopen('Boite/boite_' . $_SESSION['membres_pseudo_connexion'] . '.tmp', 'r+');
    			fseek($fichier, 0);
    			fputs($fichier, $donreq2['nbre_entrees']);
    			fclose($fichier);
    			
    			if (isset($_POST['supprimer']))
    			{
    				while ($donreq1 = mysql_fetch_array($repreq1))
    				{
    					if ($_POST['message_' . $donreq1['mp_id']] != NULL)
    					{
    						echo '<p class = "centre"><img src = "Designs/ok.jpg" alt = "Correct : " />Le message "' . $donreq1['mp_sujet'] . '" a été supprimé.';
    						echo '<br />Aller à la <a href = "' . $lien_bt_rcpt . '">' . $page_bt_rcpt . '</a>.<hr /></p>';						
    						mysql_query("DELETE FROM mp WHERE mp_id = '" . $donreq1['mp_id'] . "'") or die(mysql_error());
    					}
    				}	
    			}
    			else
    			{			
    				if ($donreq2['nbre_entrees'] != 0)
    				{
    					echo '<table><tr><th></th><th>De</th><th>Sujet</th></tr>';
    			
    					while ($donreq1 = mysql_fetch_array($repreq1))
    					{
    						$repreq3 = mysql_query("SELECT mp_message FROM mp WHERE mp_sujet = '" . $donreq1['mp_sujet'] . "'") or die(mysql_error());
    						$donreq3 = mysql_fetch_array($repreq3);
    					
    						$donreq3['mp_message'] = nl2br($donreq3['mp_message']);
    					
    						echo '<tr><td><form method = "post"><input type = "checkbox" name = "message_' . $donreq1['mp_id'] . '" id = "message_' . $donreq1['mp_id'] . '" /><label for = "message_' . $donreq1['mp_id'] . '"></td>';
    						echo '<td>' . $donreq1['mp_emetteur'] . '</td>';
    						echo '<td id = "messagecache"><a href = "#" onclick = "javascript:afficher(\'' . $donreq1['mp_sujet'] . '\', \'' . $donreq3['mp_message'] . '\', \'' . $donreq1['mp_id'] . '\');"><span id = "changer' . $donreq1['mp_id'] . '">Ouvrir : </span><strong>' . $donreq1['mp_sujet'] . '</strong></a><p style = "display:none;" id = "affichage' . $donreq1['mp_id'] . '"></p></td></label></tr>';
    					}
    				}	
    			
    				if ($donreq2['nbre_entrees'] != 0)
    				{
    					echo '</table><p class = "centre"><input type = "submit" value = "Supprimer" name = "supprimer" /></p></form>';
    				}
    				else
    				{
    					echo '<p class = "centre"><img src = "Designs/nok.jpg" alt = "Incorrect : " />Vous n\'avez pas de message.</p>';
    				}
    				
    				echo '<p class = "centre"><a href = "accueil.php?jour=' . $jour_cal . '&amp;mois=' . $mois_cal . '&amp;annee=' . $annee_cal . '">Retour au calendrier</a></p>';
    			}
    		
    			mysql_close();
    		}
    		else
    		{
    			echo '<p class = "centre"><img src = "Designs/nok.jpg" alt = "Incorrect : " />N\'essayez pas de tricher...';
    			echo '<br />Aller à la <a href = "' . $lien_accueil . '">' . $page_accueil . '</a>.</p>';			
    		}		
    ?>		
    		<p id = "piedpage">Cette page est valide <a href = "http://validator.w3.org/check?uri=referer">XHTML 1.0 Strict</a> et CSS 2.1.<br /> Le site EAgLe est hébergé gratuitement par <a href = "http://www.*.fr/">*</a>.</p>
    	</body>
    </html>
    

    afficher_message.php :
    function afficher(titre, message, affichage)
    {
    	document.getElementById('affichage' + affichage).innerHTML = "<strong>" + message + "</strong>";
    	
    	if (document.getElementById('affichage' + affichage).style.display == "none")
    	{
    		document.getElementById('affichage' + affichage).style.display = "block";
    		document.getElementById('changer' + affichage).innerHTML = "Fermer :";
    	}
    	else
    	{
    		document.getElementById('affichage' + affichage).style.display = "none";
    		document.getElementById('changer' + affichage).innerHTML = "Ouvrir :";
    	}
    }
    


    Merci d'avance pour votre aide.
    • Partager sur Facebook
    • Partager sur Twitter
      10 janvier 2009 à 12:15:51

      Ca doit venir du PHP... Parce que je viens de tester la fonction JS seule, et même avec un <br />, elle fonctionne très bien.
      • Partager sur Facebook
      • Partager sur Twitter
        10 janvier 2009 à 12:35:26

        C'est bizarre, quand je regarde la source générée par FF, j'ai l'impression que le HTML est généré dans la fonction.
        Pour le code, j'ai oublié de fermer une balise <p> (erreur de copie) mais ça ne change rien à mon problème. :-°
        • Partager sur Facebook
        • Partager sur Twitter
          10 janvier 2009 à 12:46:22

          Dans la fonction ? o_O Mais ta fonction est dans un JS externe !

          Montre le HTML généré.
          • Partager sur Facebook
          • Partager sur Twitter
            10 janvier 2009 à 13:05:24

            Le voilà :
            <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
            <html xmlns = "http://www.w3.org/1999/xhtml" xml:lang = "fr">
            	<head>
            		<title>EAgLe : votre agenda en ligne</title>
            		<meta http-equiv = "Content-Type" content = "text/html; charset = iso-8859-1" />
            		<link rel = "stylesheet" media = "screen" title = "Design de l'index" href = "Designs/des_actions_evenements.css" />
            		<link rel = "shortcut icon" type = "image/x-icon" href = "favicon.ico" />
            		<!-- [if IE] -->
            			<style type = "text/css">
            				p
            				{
            					font-family: Arial, serif;
            					font-size: 16px;
            				}
            			</style>
            
            		<!-- [endif] -->		
            	</head>
            	
            	<body>
            		<script type = "text/javascript" src = "afficher_message.js"></script>
            <table><tr><th></th><th>De</th><th>Sujet</th></tr><tr><td><form method = "post"><input type = "checkbox" name = "message_29" id = "message_29" /><label for = "message_29"></td><td>pseudo</td><td id = "messagecache"><a href = "#" onclick = "javascript:afficher('fhfghfg', 'Votre message ici.', '29');"><span id = "changer29">Ouvrir : </span><strong>fhfghfg</strong></a><p style = "display:none;" id = "affichage29"></p></td></label></tr><tr><td><form method = "post"><input type = "checkbox" name = "message_28" id = "message_28" /><label for = "message_28"></td><td>pseudo</td><td id = "messagecache"><a href = "#" onclick = "javascript:afficher('fgdfdf', 'Votre message ici.<br />
            dfghdhg', '28');"><span id = "changer28">Ouvrir : </span><strong>fgdfdf</strong></a><p style = "display:none;" id = "affichage28"></p></td></label></tr><tr><td><form method = "post"><input type = "checkbox" name = "message_27" id = "message_27" /><label for = "message_27"></td><td>pseudo</td><td id = "messagecache"><a href = "#" onclick = "javascript:afficher('Bienvenue !', 'Bonjour pseudo et bienvenue parmi nous, sur le site EAgLe. J\'espère que ce site vous plaira.<br />
            Bonne journée !', '27');"><span id = "changer27">Ouvrir : </span><strong>Bienvenue !</strong></a><p style = "display:none;" id = "affichage27"></p></td></label></tr></table><p class = "centre"><input type = "submit" value = "Supprimer" name = "supprimer" /></p></form><p class = "centre"><a href = "accueil.php?jour=10&amp;mois=01&amp;annee=2009">Retour au calendrier</a>		
            		<p id = "piedpage">Cette page est valide <a href = "http://validator.w3.org/check?uri=referer">XHTML 1.0 Strict</a> et CSS 2.1.<br /> Le site EAgLe est hébergé gratuitement par <a href = "http://www.*.fr/">*</a>.</p>
            
            	</body>
            </html>
            


            Je n'ai rien touché, les retours à la ligne après <br /> ont été générés comme cela.
            • Partager sur Facebook
            • Partager sur Twitter
              10 janvier 2009 à 13:43:33

              Ah en fait le truc, c'est que quand tu mets les <br /> avec PHP, il effectue un passage à la ligne, et ça ne plaît pas trop à JS qui considère la chaîne du message incomplète.

              La solution apparemment pourrait être de mettre :
              &lt;br /&gt;
              


              Normalement ça marche.

              Par contre, j'ai aussi remarqué que tes <label> sont mal placés. Faudrait que tu revoies ça (ça n'a rien à voir avec ton problème actuel hein).
              • Partager sur Facebook
              • Partager sur Twitter
                10 janvier 2009 à 13:54:07

                Oui, mais si je passe le message à htmlspecialchars() avnt de l'envoyer à ma fonction, comment mon texte est-il interprété après passage à ma fonction afficher() ?

                Pour les <label>, j'ai fait ça un peu à l'arrache hier soir... :-°

                Pour les messages suivants, je ne serai pas là dans l'après-midi, donc je répondrai ce soir.
                • Partager sur Facebook
                • Partager sur Twitter
                Anonyme
                  10 janvier 2009 à 14:13:50

                  parse ta chaine php pour virer les retours à la ligne…

                  str_replace("\n", "" ou "<br/>") a toi de voir
                  • Partager sur Facebook
                  • Partager sur Twitter
                    10 janvier 2009 à 18:39:01

                    Justement, je ne veux pas les virer définitivement, je veux qu'ils passent à la fonction.

                    Pour le
                    &lt;br /&gt;
                    
                    , ça ne marche pas.
                    • Partager sur Facebook
                    • Partager sur Twitter
                    Anonyme
                      10 janvier 2009 à 19:02:44

                      Tu met ta chaine dans un élement <pre> ?

                      Non : tes \n servent a rien et ne sont pas pris en compte à l'affichage. vires les.
                      Oui : dommage. essaie de les remplacer par '\n' la chaine de caractère.
                      • Partager sur Facebook
                      • Partager sur Twitter
                        10 janvier 2009 à 19:12:02

                        Comment ça "pas pris en compte à l'affichage" ??
                        • Partager sur Facebook
                        • Partager sur Twitter
                          10 janvier 2009 à 19:28:44

                          <br /> c'est pour un retour à la ligne à l'affichage
                          \n c'est pour un retour à la ligne dans le code source(et dans les textarea et autres champs texte)
                          • Partager sur Facebook
                          • Partager sur Twitter
                          Anonyme
                            10 janvier 2009 à 19:29:57

                            essaie. Le parseur html de ton navigateur remplace n'impore quelle suite d'espace, tabulation, saut de ligne par un seul et unique espace, en dehors d'un élement <pre> (et d'une ruse de sioux en CSS qui marche pas sur IE6)
                            • Partager sur Facebook
                            • Partager sur Twitter
                              10 janvier 2009 à 20:31:38

                              Donc, en gros, que dois-je faire ? Je me perds dans les réponses...
                              • Partager sur Facebook
                              • Partager sur Twitter
                              Anonyme
                                10 janvier 2009 à 20:45:57

                                Tu vires les retours à la ligne (c'est a dire les "\n") et ça marchera.
                                • Partager sur Facebook
                                • Partager sur Twitter
                                  10 janvier 2009 à 21:10:00

                                  Non, désolé, j'ai fait un
                                  <?php str_replace("\n", "", $donreq3['mp_message']); ?>
                                  
                                  mais ça ne marche pas. Je ne sais plus quoi faire...
                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    10 janvier 2009 à 21:16:12

                                    <?php $donreq3['mp_message']=str_replace("\n", "", $donreq3['mp_message']); ?>
                                    
                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      10 janvier 2009 à 21:21:48

                                      Heu, ça a pas l'air de faire d'effet. T'es sûr du code ?
                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                        10 janvier 2009 à 21:29:54

                                        non... mais un replace si tu le mets pas dans une variable ça sert a rien...

                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                        Anonyme
                                          10 janvier 2009 à 21:30:18

                                          +1

                                          donnes le html généré
                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                            10 janvier 2009 à 21:35:13

                                            Le voici tel qu'il se présente exactement dans la fenêtre de mon navigateur :
                                            <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
                                            <html xmlns = "http://www.w3.org/1999/xhtml" xml:lang = "fr">
                                            	<head>
                                            		<title>EAgLe : votre agenda en ligne</title>
                                            		<meta http-equiv = "Content-Type" content = "text/html; charset = iso-8859-1" />
                                            		<link rel = "stylesheet" media = "screen" title = "Design de l'index" href = "Designs/des_actions_evenements.css" />
                                            		<link rel = "shortcut icon" type = "image/x-icon" href = "favicon.ico" />
                                            		<!-- [if IE] -->
                                            			<style type = "text/css">
                                            				p
                                            				{
                                            					font-family: Arial, serif;
                                            					font-size: 16px;
                                            				}
                                            			</style>
                                            
                                            		<!-- [endif] -->		
                                            	</head>
                                            	
                                            	<body>
                                            		<script type = "text/javascript" src = "afficher_message.js"></script>
                                            <table><tr><th></th><th>De</th><th>Sujet</th></tr><tr><td><form method = "post"><input type = "checkbox" name = "message_33" id = "message_33" /><label for = "message_33"></td><td>pseudo</td><td id = "messagecache"><a href = "#" onclick = "javascript:afficher('Votre message ici.
                                             omklj,', '33');"><span id = "changer33">Ouvrir : </span><strong>5412</strong></a><p style = "display:none;" id = "affichage33"></p></td></label></tr><tr><td><form method = "post"><input type = "checkbox" name = "message_32" id = "message_32" /><label for = "message_32"></td><td>pseudo</td><td id = "messagecache"><a href = "#" onclick = "javascript:afficher('Votre message ici.
                                             bfgdh,c', '32');"><span id = "changer32">Ouvrir : </span><strong>khgkb</strong></a><p style = "display:none;" id = "affichage32"></p></td></label></tr><tr><td><form method = "post"><input type = "checkbox" name = "message_29" id = "message_29" /><label for = "message_29"></td><td>pseudo</td><td id = "messagecache"><a href = "#" onclick = "javascript:afficher('Votre message ici.', '29');"><span id = "changer29">Ouvrir : </span><strong>fhfghfg</strong></a><p style = "display:none;" id = "affichage29"></p></td></label></tr></table><p class = "centre"><input type = "submit" value = "Supprimer" name = "supprimer" /></p></form><p class = "centre"><a href = "accueil.php?jour=10&amp;mois=01&amp;annee=2009">Retour au calendrier</a>		
                                            		<p id = "piedpage">Cette page est valide <a href = "http://validator.w3.org/check?uri=referer">XHTML 1.0 Strict</a> et CSS 2.1.<br /> Le site EAgLe est hébergé gratuitement par <a href = "http://www.niloo.fr/">Niloo Hébergement</a>.</p>
                                            
                                            	</body>
                                            </html>
                                            
                                            • Partager sur Facebook
                                            • Partager sur Twitter
                                            Anonyme
                                              10 janvier 2009 à 22:02:27

                                              $donreq1['mp_sujet'] fout la merde. Même traitement qu'a dessus. Il faut enlever tous les "\n" de toutes les variables «en contact» avec javascript.
                                              • Partager sur Facebook
                                              • Partager sur Twitter
                                                10 janvier 2009 à 22:24:00

                                                Je viens de le faire mais ça n'a rien changé.
                                                • Partager sur Facebook
                                                • Partager sur Twitter
                                                Anonyme
                                                  10 janvier 2009 à 22:28:44

                                                  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
                                                  <html xmlns = "http://www.w3.org/1999/xhtml" xml:lang = "fr">
                                                  	<head>
                                                  		<title>EAgLe : votre agenda en ligne</title>
                                                  		<meta http-equiv = "Content-Type" content = "text/html; charset = iso-8859-1" />
                                                  		<link rel = "stylesheet" media = "screen" title = "Design de l'index" href = "Designs/des_actions_evenements.css" />
                                                  		<link rel = "shortcut icon" type = "image/x-icon" href = "favicon.ico" />
                                                  		<!-- [if IE] -->
                                                  			<style type = "text/css">
                                                  				p
                                                  				{
                                                  					font-family: Arial, serif;
                                                  					font-size: 16px;
                                                  				}
                                                  			</style>
                                                  
                                                  		<!-- [endif] -->		
                                                  	</head>
                                                  	
                                                  	<body>
                                                  		<script type = "text/javascript" src = "afficher_message.js"></script>
                                                  <table><tr><th></th><th>De</th><th>Sujet</th></tr><tr><td><form method = "post"><input type = "checkbox" name = "message_33" id = "message_33" /><label for = "message_33"></td><td>pseudo</td><td id = "messagecache"><a href = "#" onclick = "javascript:afficher('Votre message ici.
                                                  omklj,', '33');"><span id = "changer33">Ouvrir : </span><strong>5412</strong></a><p style = "display:none;" id = "affichage33"></p></td></label></tr><tr><td><form method = "post"><input type = "checkbox" name = "message_32" id = "message_32" /><label for = "message_32"></td><td>pseudo</td><td id = "messagecache"><a href = "#" onclick = "javascript:afficher('Votre message ici.
                                                  bfgdh,c', '32');"><span id = "changer32">Ouvrir : </span><strong>khgkb</strong></a><p style = "display:none;" id = "affichage32"></p></td></label></tr><tr><td><form method = "post"><input type = "checkbox" name = "message_29" id = "message_29" /><label for = "message_29"></td><td>pseudo</td><td id = "messagecache"><a href = "#" onclick = "javascript:afficher('Votre message ici.', '29');"><span id = "changer29">Ouvrir : </span><strong>fhfghfg</strong></a><p style = "display:none;" id = "affichage29"></p></td></label></tr></table><p class = "centre"><input type = "submit" value = "Supprimer" name = "supprimer" /></p></form><p class = "centre"><a href = "accueil.php?jour=10&amp;mois=01&amp;annee=2009">Retour au calendrier</a>		
                                                  		<p id = "piedpage">Cette page est valide <a href = "http://validator.w3.org/check?uri=referer">XHTML 1.0 Strict</a> et CSS 2.1.<br /> Le site EAgLe est hébergé gratuitement par <a href = "http://www.niloo.fr/">Niloo Hébergement</a>.</p>
                                                  
                                                  	</body>
                                                  </html>
                                                  
                                                  • Partager sur Facebook
                                                  • Partager sur Twitter
                                                    10 janvier 2009 à 23:46:26

                                                    Citation : tommy009

                                                    Justement, je ne veux pas les virer définitivement, je veux qu'ils passent à la fonction.

                                                    Pour le

                                                    &lt;br /&gt;
                                                    

                                                    , ça ne marche pas.



                                                    Arf... je suppose que PHP le décode avant de l'afficher...

                                                    En mettant &amp;lt;br /&amp;gt; ? ...
                                                    • Partager sur Facebook
                                                    • Partager sur Twitter
                                                      11 janvier 2009 à 10:59:28

                                                      Ca ne marche pas non plus. Le HTML généré est toujours le même...
                                                      • Partager sur Facebook
                                                      • Partager sur Twitter
                                                        12 janvier 2009 à 20:31:48

                                                        Bonjour,
                                                        Je me permets de poster un nouveau message pour clore le sujet. En effet, je me suis accordé un petit temps de réflexion pendant les cours ennuyeux (ça m'a laissé pas mal de temps pour cogiter autrement dit :-° ) et ai enfin trouvé une solution alternative. Pour ceux qui seraient dans un cas similaire au mien, je donne mon nouveau code (vous allez voir, c'était tout bête, mais il fallait que je me donne le temps de le trouver ^^ ).
                                                        bt_recept.php :
                                                        <?php
                                                        	session_start();
                                                        	include("interdiction.php");
                                                        ?>
                                                        <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
                                                        <html xmlns = "http://www.w3.org/1999/xhtml" xml:lang = "fr">
                                                        	<head>
                                                        		<title>EAgLe : votre agenda en ligne</title>
                                                        		<meta http-equiv = "Content-Type" content = "text/html; charset = iso-8859-1" />
                                                        		<link rel = "stylesheet" media = "screen" title = "Design de l'index" href = "Designs/des_actions_evenements.css" />
                                                        		<link rel = "shortcut icon" type = "image/x-icon" href = "favicon.ico" />
                                                        		<!-- [if IE] -->
                                                        			<style type = "text/css">
                                                        				p
                                                        				{
                                                        					font-family: Arial, serif;
                                                        					font-size: 16px;
                                                        				}
                                                        			</style>
                                                        		<!-- [endif] -->		
                                                        	</head>
                                                        	
                                                        	<body>
                                                        		<script type = "text/javascript" src = "afficher_message.js"></script>
                                                        <?php
                                                        		$jour_cal = htmlspecialchars($_GET['jour_cal']);
                                                        		$mois_cal = htmlspecialchars($_GET['mois_cal']);
                                                        		$annee_cal = htmlspecialchars($_GET['annee_cal']);
                                                        		$lien_accueil = 'index.php';
                                                        		$page_accueil = 'page d\'accueil';
                                                        		$lien_bt_rcpt = 'bt_rcpt.php?jour_cal=' . $jour_cal . '&amp;mois_cal=' . $mois_cal . '&amp;annee_cal=' . $annee_cal;
                                                        		$page_bt_rcpt = 'boîte de réception';
                                                        		$delai_rechargement = 3;
                                                        		
                                                        		if (isset($_SESSION['membres_pseudo_connexion']))
                                                        		{
                                                        			mysql_connect("*", "*", "*");
                                                        			mysql_select_db("*");
                                                        
                                                        			$repreq1 = mysql_query("SELECT * FROM mp WHERE mp_destinataire = '" . $_SESSION['membres_pseudo_connexion'] . "' ORDER BY mp_id DESC") or die(mysql_error());
                                                        			$repreq2 = mysql_query("SELECT COUNT(*) AS nbre_entrees FROM mp WHERE mp_destinataire = '" . $_SESSION['membres_pseudo_connexion'] . "'") or die(mysql_error());
                                                        			$donreq2 = mysql_fetch_array($repreq2);
                                                        			
                                                        			$fichier = fopen('Boite/boite_' . $_SESSION['membres_pseudo_connexion'] . '.tmp', 'r+');
                                                        			fseek($fichier, 0);
                                                        			fputs($fichier, $donreq2['nbre_entrees']);
                                                        			fclose($fichier);
                                                        			
                                                        			if (isset($_POST['supprimer']))
                                                        			{
                                                        				while ($donreq1 = mysql_fetch_array($repreq1))
                                                        				{
                                                        					if ($_POST['message_' . $donreq1['mp_id']] != NULL)
                                                        					{
                                                        						echo '<p class = "centre"><img src = "Designs/ok.jpg" alt = "Correct : " />Le message "' . stripslashes($donreq1['mp_sujet']) . '" a été supprimé.';
                                                        						echo '<br />Aller à la <a href = "' . $lien_bt_rcpt . '">' . $page_bt_rcpt . '</a>.<hr /></p>';						
                                                        						mysql_query("DELETE FROM mp WHERE mp_id = '" . $donreq1['mp_id'] . "'") or die(mysql_error());
                                                        					}
                                                        				}	
                                                        			}
                                                        			else
                                                        			{					
                                                        				if ($donreq2['nbre_entrees'] != 0)
                                                        				{
                                                        					echo '<form method = "post">';
                                                        				
                                                        					echo '<table><tr><th></th><th>De</th><th>Sujet</th><th>Date</th></tr>';
                                                        			
                                                        					while ($donreq1 = mysql_fetch_array($repreq1))
                                                        					{
                                                        						$repreq3 = mysql_query("SELECT mp_message FROM mp WHERE mp_id = '" . $donreq1['mp_id'] . "'") or die(mysql_error());
                                                        						$donreq3 = mysql_fetch_array($repreq3);
                                                        		
                                                        						echo '<tr><td><form method = "post"><input type = "checkbox" name = "message_' . $donreq1['mp_id'] . '" id = "message_' . $donreq1['mp_id'] . '" /></td>';
                                                        						echo '<td>' . $donreq1['mp_emetteur'] . '</td>';
                                                        						echo '<td id = "messagecache"><a href = "#" onclick = "javascript:afficher(\'' . $donreq1['mp_id'] . '\');"><span id = "changer' . $donreq1['mp_id'] . '">Ouvrir : </span><strong>' . stripslashes($donreq1['mp_sujet']) . '</strong></a><p style = "display:none;" id = "affichage' . $donreq1['mp_id'] . '">' . nl2br(stripslashes($donreq3['mp_message'])) . '</p></td>';
                                                        						$donreq1['mp_date'] = preg_replace("#^([0-9]{4})-([0-9]{2})-([0-9]{2}) ([0-9]{2}):([0-9]{2}):([0-9]{2})$#", "le $3/$2/$1 à $4:$5:$6", $donreq1['mp_date']);
                                                        						echo '<td>Envoyé ' . $donreq1['mp_date'] . '</td></tr>';
                                                        					}
                                                        				}	
                                                        			
                                                        				if ($donreq2['nbre_entrees'] != 0)
                                                        				{
                                                        					echo '</table><p class = "centre"><input type = "submit" value = "Supprimer" name = "supprimer" /></p></form>';
                                                        				}
                                                        				else
                                                        				{
                                                        					echo '<p class = "centre"><img src = "Designs/nok.jpg" alt = "Incorrect : " />Vous n\'avez pas de message.</p>';
                                                        				}
                                                        				
                                                        				echo '<p class = "centre"><a href = "accueil.php?jour=' . $jour_cal . '&amp;mois=' . $mois_cal . '&amp;annee=' . $annee_cal . '">Retour au calendrier</a>';
                                                        			}
                                                        		
                                                        			mysql_close();
                                                        		}
                                                        		else
                                                        		{
                                                        			echo '<p class = "centre"><img src = "Designs/nok.jpg" alt = "Incorrect : " />N\'essayez pas de tricher...';
                                                        			echo '<br />Aller à la <a href = "' . $lien_accueil . '">' . $page_accueil . '</a>.</p>';			
                                                        		}		
                                                        ?>		
                                                        		<p id = "piedpage">Cette page est valide <a href = "http://validator.w3.org/check?uri=referer">XHTML 1.0 Strict</a> et CSS 2.1.<br /> Le site EAgLe est hébergé gratuitement par <a href = "*">*</a>.</p>
                                                        	</body>
                                                        </html>
                                                        


                                                        afficher_message.js :
                                                        function afficher(affichage)
                                                        {
                                                        	if (document.getElementById('affichage' + affichage).style.display == "none")
                                                        	{
                                                        		document.getElementById('affichage' + affichage).style.display = "block";
                                                        		document.getElementById('changer' + affichage).innerHTML = "Fermer : ";
                                                        	}
                                                        	else
                                                        	{
                                                        		document.getElementById('affichage' + affichage).style.display = "none";
                                                        		document.getElementById('changer' + affichage).innerHTML = "Ouvrir : ";
                                                        	}
                                                        }
                                                        


                                                        Pour faire simple, les changements consistent à passer en paramètre l'ID du message, puis afficher le message caché par "display:none;" par l'intermédiaire de JS. Simplissime, non ?

                                                        Sur ce, je souhaite une bonne soirée à tous et remercie chaleureusement tous ceux qui ont passé du temps à essayer de m'aider à résoudre mon problème.
                                                        • Partager sur Facebook
                                                        • Partager sur Twitter

                                                        Passer un message contenant un <br />

                                                        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                                        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                                                        • Editeur
                                                        • Markdown