Créer un compte
Connexion

Page Repondre

Pour créer et répondre aux sujets, vous devez être connecté.
Ce sujet est résolu.
Pages: 1
Auteur Message
Aglzime
26/08/2010 à 17:57:24
Celui qui sacrifie sa liberté pour sa sécurité, ne mérite aucune des deux ! Aglzime
Membre
Bonjour,
j'ai un petit problème avec ma page repondre.php
Cette page permet de répondre au message que le membre selectionne, en récuperant l'id du message "$_GET[id_message']!!!

Tout fonctionne très bien a part que les informations (Titre, message, id_login...) ne sont pas insérer dans ma base de donnée. voici le code de la page
repondre.php
<?php
session_start();
// on vérifie toujours qu'il s'agit d'un membre qui est connecté
if (!isset($_SESSION['login'])) {
        // si ce n'est pas le cas, on le redirige vers l'accueil
        header ('Location: index.php');
        exit();
}

// on teste si le formulaire a bien été soumis
if (isset($_POST['Envoyer']) && $_POST['Envoyer'] == 'Envoyer') {
if (!isset($_GET['id_message']) || empty($_GET['id_message'])) {

        if (empty($_POST['expediteur']) || empty($_POST['titre']) || empty($_POST['message_text'])) {
                $erreur = 'Au moins un des champs est vide.';
        }
        else {
        include('mysql_connect.php');
        mysql_select_db ('nom_base', $connexion_base) or die ("erreur de connexion base");
                mysql_query("SET NAMES 'utf8'");
 

                // si tout a été bien rempli, on insère le message dans notre table SQL
                $date_mois = date('d/m/Y');
                $hour_heure = date('H:i:s');
                $datenvoi = $date_mois. "&nbsp;&agrave;&nbsp;" .$hour_heure;
                $inser = 'INSERT INTO messages VALUES("", "'.$_SESSION['id'].'", "'.mysql_escape_string(str_replace('&amp;#', '&#', htmlentities($_POST['expediteur'], ENT_QUOTES, "UTF-8"))).'", "'.$datenvoi.'", "'.mysql_escape_string(str_replace('&amp;#', '&#', htmlentities(utf8_encode($_POST['titre']), ENT_QUOTES, "UTF-8"))).'", "'.mysql_escape_string(parsecode(utf8_encode($_POST['message_text']))).'", "0")';
                mysql_query($inser) or die('Erreur SQL !'.$inser.'<br />'.mysql_error());


        }
}

}
?>

<!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">
<head>
<title>Repondre aux messages!</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link href="bbcode/mep.css" rel="stylesheet" type="text/css" media="all" />
<link rel="stylesheet" type="text/css" href="bbcode/skin.css">
<script type="text/javascript" src="bbcode/bbc.js"></script>
<link href="includes/design.css" rel="stylesheet" type="text/css" />
<link href="includes/menucss.css" rel="stylesheet" type="text/css" />
<link href="includes/template.css" rel="stylesheet" type="text/css" />
</head>

<body>
<?php include('includes/entetepage.php')?>
<a href="membre.php">Retour à l'accueil</a><br /><br />
R&eacute;pondre :<br /><br />
<?php
        include('mysql_connect.php');
        mysql_select_db ('nom_base', $connexion_base) or die ("erreur de connexion base");
                mysql_query("SET NAMES 'utf8'");
 $sql = mysql_query('SELECT id_expediteur FROM messages WHERE id="'.$_GET['id_message'].'" AND id_destinataire="'.$_SESSION['id'].'"')or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
 $dnn = mysql_fetch_array($sql);
 if(mysql_num_rows($sql)>0)
 {
                $logexp = $dnn['id_expediteur'];
        $sreq = mysql_query('SELECT login FROM membre WHERE id="'.$logexp.'"')or die('Erreur SQL !<br />'.$sreq.'<br />'.mysql_error());
           $dnno = mysql_fetch_array($sreq);
                   $idexpediteur = $dnno['id'];
                                }

 ?>
        <form action="repondre.php" method="post">
        A :<select name="expediteur">
        <?php
                   echo '<option id="expediteur" value="'.$idexpediteur.'"><strong>'.$dnno['login'].'</strong>';
        mysql_close();        
        ?>
        </select><br />
        Titre : <input type="text" name="titre" value="<?php if (isset($_POST['titre'])) echo str_replace('&amp;#', '&#',stripslashes(htmlentities($_POST['titre'], ENT_QUOTES, "UTF-8"))); ?>"><br />
        Message :
       
                <Textarea name="message_text" onkeyup="preview(this, 'previewDiv');" onselect="preview(this, 'previewDiv');" id="message_text" cols="130" rows="10"><?php if (isset($_POST['message_text'])) echo stripslashes(htmlentities($_POST['message_text'], ENT_QUOTES, "UTF-8")); ?></Textarea>
                <div id="previewDiv"></div>

               
               
                        <input type="submit" name="Envoyer" value="Envoyer">
        </form>
     

        <?php


mysql_close();
?>
</select>

<br /><br /><a href="deconnexion.php">Déconnexion</a>
<?php
// si une erreur est survenue lors de la soumission du formulaire, on l'affiche
if (isset($erreur)) echo '<br /><br />',$erreur;
?>
<?php include('includes/footer.php')?>
</body>
</html>
Merci d'avance :)

ybouane
27/08/2010 à 01:15:30
ybouane
Admin
Bonjour,
Essaye ce code:
<?php
session_start();
// on vérifie toujours qu'il s'agit d'un membre qui est connecté
if (!isset($_SESSION['login'])) {
        // si ce n'est pas le cas, on le redirige vers l'accueil
        header ('Location: index.php');
        exit();
}

// on teste si le formulaire a bien été soumis
if (isset($_POST['Envoyer']) && $_POST['Envoyer'] == 'Envoyer') {
if (!isset($_GET['id_message']) || empty($_GET['id_message'])) {

        if (empty($_POST['expediteur']) || empty($_POST['titre']) || empty($_POST['message_text'])) {
                $erreur = 'Au moins un des champs est vide.';
        }
        else {
        include('mysql_connect.php');
        mysql_select_db ('nom_base', $connexion_base) or die ("erreur de connexion base");
                mysql_query("SET NAMES 'utf8'");
 

                // si tout a été bien rempli, on insère le message dans notre table SQL
                $date_mois = date('d/m/Y');
                $hour_heure = date('H:i:s');
                $datenvoi = $date_mois. "&nbsp;&agrave;&nbsp;" .$hour_heure;
                $inser = 'INSERT INTO messages VALUES("", "'.$_SESSION['id'].'", "'.mysql_escape_string(str_replace('&amp;#', '&#', htmlentities($_POST['expediteur'], ENT_QUOTES, "UTF-8"))).'", "'.$datenvoi.'", "'.mysql_escape_string(str_replace('&amp;#', '&#', htmlentities(utf8_encode($_POST['titre']), ENT_QUOTES, "UTF-8"))).'", "'.mysql_escape_string(parsecode(utf8_encode($_POST['message_text']))).'", "0")';
                mysql_query($inser) or die('Erreur SQL !'.$inser.'<br />'.mysql_error());


        }
}

}
?>

<!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">
<head>
<title>Repondre aux messages!</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link href="bbcode/mep.css" rel="stylesheet" type="text/css" media="all" />
<link rel="stylesheet" type="text/css" href="bbcode/skin.css">
<script type="text/javascript" src="bbcode/bbc.js"></script>
<link href="includes/design.css" rel="stylesheet" type="text/css" />
<link href="includes/menucss.css" rel="stylesheet" type="text/css" />
<link href="includes/template.css" rel="stylesheet" type="text/css" />
</head>

<body>
<?php include('includes/entetepage.php')?>
<a href="membre.php">Retour à l'accueil</a><br /><br />
R&eacute;pondre :<br /><br />
<?php
        include('mysql_connect.php');
        mysql_select_db ('nom_base', $connexion_base) or die ("erreur de connexion base");
                mysql_query("SET NAMES 'utf8'");
 $sql = mysql_query('SELECT id_expediteur FROM messages WHERE id="'.$_GET['id_message'].'" AND id_destinataire="'.$_SESSION['id'].'"')or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
 $dnn = mysql_fetch_array($sql);
 if(mysql_num_rows($sql)>0)
 {
                $logexp = $dnn['id_expediteur'];
        $sreq = mysql_query('SELECT login FROM membre WHERE id="'.$logexp.'"')or die('Erreur SQL !<br />'.$sreq.'<br />'.mysql_error());
           $dnno = mysql_fetch_array($sreq);
                   $idexpediteur = $dnno['id'];
                                }

 ?>
        <form action="repondre.php?id_message=<?php echo $_GET['id_message']; ?>" method="post">
        A :<select name="expediteur">
        <?php
                   echo '<option id="expediteur" value="'.$idexpediteur.'"><strong>'.$dnno['login'].'</strong>';
        mysql_close();        
        ?>
        </select><br />
        Titre : <input type="text" name="titre" value="<?php if (isset($_POST['titre'])) echo str_replace('&amp;#', '&#',stripslashes(htmlentities($_POST['titre'], ENT_QUOTES, "UTF-8"))); ?>"><br />
        Message :
       
                <Textarea name="message_text" onkeyup="preview(this, 'previewDiv');" onselect="preview(this, 'previewDiv');" id="message_text" cols="130" rows="10"><?php if (isset($_POST['message_text'])) echo stripslashes(htmlentities($_POST['message_text'], ENT_QUOTES, "UTF-8")); ?></Textarea>
                <div id="previewDiv"></div>

               
               
                        <input type="submit" name="Envoyer" value="Envoyer">
        </form>
     

        <?php


mysql_close();
?>
</select>

<br /><br /><a href="deconnexion.php">Déconnexion</a>
<?php
// si une erreur est survenue lors de la soumission du formulaire, on l'affiche
if (isset($erreur)) echo '<br /><br />',$erreur;
?>
<?php include('includes/footer.php')?>
</body>
</html>

Cordialement

Image
Aglzime
27/08/2010 à 01:59:12
Celui qui sacrifie sa liberté pour sa sécurité, ne mérite aucune des deux ! Aglzime
Membre
Merci d'avoir répondre !!!
Mais malheureusement ça ne fonctionne pas !! aucun effet!
la page reste la même lorsque on clic sur envoyer!! et aussi meme si les champs sont vide ça ne provoque aucun effet!!
le destinataire ne reçoit rien!
je vous rappel que dans ma base des données les champs sont classés suivant cet ordre:
Id | Id_expediteur | Id_destinataire | Date | Titre | Message | Lu

Merci d'avance


Aglzime
27/08/2010 à 12:18:00
Celui qui sacrifie sa liberté pour sa sécurité, ne mérite aucune des deux ! Aglzime
Membre
J'ai trouvé l'erreur!
Il fallait remplacé $_POST['expediteur'] dans INSERT INTO par $_dnn['id_expediteur']
!
Merci Ybouane de ton intervention ;) !!!
Sujet résolu!!

Pages: 1