JeuWeb - Crée ton jeu par navigateur
[Résolu]Un système de Mp. - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : [Résolu]Un système de Mp. (/showthread.php?tid=3759)

Pages : 1 2


[Résolu]Un système de Mp. - vulcain - 04-03-2009

Bonsoir,

J'essaye de réaliser un système de messagerie, mais là, je rencontre un gros problème qui empêche toute ma messagerie de fonctionner. Donc, j'ai fait en deux pages, une qui contient mon code php et l'autre l'affichage mais avec un peu de code...

Donc, là, je vais vous montrer mon code pour envoyer un message donc la rédaction, le problème c'est que lorsque je fais envoyer ça remet le message à zéro et cela n'affiche pas de message d'erreur ou autre.

Code :
<?php
    
echo '<br><br><a href="index.php?page=messages&action=nouveau_message">Nouveau message</a><br><br>';

include('fonctions/messages.php');
if($action == "nouveau_message")
{
    if(isset($_POST['message_nouveau']))
    {
        $message_nouveau = htmlspecialchars(mysql_real_escape_string($_POST['message_nouveau']));
        nouveau_message($message_nouveau);
    }
    
    ?>
          <br><center><form action='index.php?page=messages&action=nouveau_message' method='post'><tbody>
<fieldset style="width:600px;">
    <legend>Ecrire un nouveau message :</legend>
    <p style="margin:8px;">

<table>
    <tr>
        <td class="normal" width="150" valign="top">Votre pseudo : <?php echo $pseudo; ?></td>
    <tr>
        <td class="normal" width="80">Destinataire:</td>
        <td><input name="in" class="normal" type="text" size="20" value=""></td>
    </tr>
</table>
<table>
    <tr>
        <td class="normal" width="80" valign="top">Message:</td>
        <td><textarea name="message" class="normal" cols="48" rows="10"></textarea></td>

    </tr>
</table>
<input type="submit" name="action" value="envoyer">
</p></fieldset></tbody></form></center>

Et le code qui contient mes fonctions pour pouvoir envoyer le message :

Code :
<?
        if(!empty($_POST['destinataire']) AND !empty($_POST['message']))
        {
          $nbr_entree = mysql_query("SELECT COUNT(*) AS nbre_entrees FROM membres WHERE pseudo='".$_POST['destinataire']."'")or die(mysql_error());
          $nbr_entrees = mysql_fetch_assoc($nbr_entree);
          if($nbr_entrees['nbre_entrees'] == 1)
          {
            $receveur = addslashes(htmlentities($_POST['receveur']));
            $message = addslashes(nl2br(htmlentities($_POST['message'])));
            $expediteur = $_SESSION['pseudo'];
            $timestamp = time();
            $retour = mysql_query("SELECT destinataire, message FROM mp_jeu WHERE expediteur='$expediteur' ORDER BY id DESC LIMIT 0,1");
            $donnees = mysql_fetch_assoc($retour);
            if($donnees['destinataire'] == $receveur AND $donnees['message'])
            {
              echo 'Vous ne pouvez pas poster le même message 2 fois d\'affilée';
            }
            else
            {
              mysql_query("INSERT INTO mp_jeu(expediteur, receveur, message, timestamp, lu) VALUES('" . $expediteur . "', '" . $receveur . "', '" . $message . "', '" . $timestamp . "', '0', '0')")or die(mysql_error());
              echo 'Votre message a bien été envoyé à '.$destinataire.'. Vous allez être redirigé vers votre boîte de réception dans une seconde.';
            }
          }
          else
          {
            echo 'Le membre à qui vous souhaitez envoyer ce message n\'existe pas/plus.';

          }
        }
        else
        {
          echo 'Vous devez remplir tout les champs. <a href="index.php?page=messages&action=nouveau_message">Recommencer</a>.';
        }
      ?>

Voilà, je vous remercie.

Bonne soirée


RE: Un système de Mp. - vulcain - 04-03-2009

Bonsoir oxman,

je ne comprends pas ta phrase :heuuu:


RE: Un système de Mp. - Sulfuin - 04-03-2009

Citation :if($action == "nouveau_message")

ce serait pas $_GET['action'] plutôt?

Ou alors j'fatigue et j'lis très mal Confused

Sulfuin


RE: Un système de Mp. - vulcain - 04-03-2009

Pour trouver le problème, j'ai vérifié si par exemple mes if étaient bien fermés, qu'il n'y avait pas d'erreur de frappes, relus mon script d'ailleurs je viens de voir 3 petites erreurs mais ça ne change rien etc... Wink

Edit : [quote='Sulfuin' pid='67178' dateline='1236200722']
Citation :if($action == "nouveau_message")


ce serait pas $_GET['action'] plutôt?

Ou alors j'fatigue et j'lis très mal Confused

Non, c'est bien if($action =="nouveau_message") Wink


RE: Un système de Mp. - Sulfuin - 04-03-2009

Tu as fait des echo un peu aux endroit clés, genre dans tes tests, histoire de voir si ils se faisaient bien?

Des echo de certaines variables aussi, enfin ce genre de choses?

edit: j'avais pas vu oxman Confused

Citation : <td class="normal" width="80">Destinataire:</td>
<td><input name="in" class="normal" type="text" size="20" value=""></td>

un peu plus loin dans la fonction d'envoie

Citation :if(!empty($_POST['destinataire'])...

---> donc là déjà soucis de cohérence Wink


puis
Citation :if(isset($_POST['message_nouveau']))

et dans l'formu
Citation :<td><textarea name="message" class="normal" cols="48" rows="10"></textarea></td>

-->la aussi soucis de cohérence.

A toi de corriger comme tu l'souhaites Wink

Sulfuin


RE: Un système de Mp. - vulcain - 04-03-2009

Merci de votre aide, je vais regarder ça Wink


RE: Un système de Mp. - vulcain - 05-03-2009




RE: Un système de Mp. - vulcain - 05-03-2009

J'ai repris mon code à zéro, et faire étape par étape Wink en vérifiant bien que mes champs qui sont dans ma BDD sont les mêmes que ceux dans le script Wink


RE: Un système de Mp. - vulcain - 05-03-2009

Je suis entrain d'isoler où se trouve le bug Wink mais le problème c'est que là, je sèche...Je sais où se trouve l'erreur mais j'ai beau essayé de modifier la partie où il se trouve, cela ne change rien.


RE: Un système de Mp. - vulcain - 05-03-2009