Celui qui sacrifie sa liberté pour sa sécurité, ne mérite aucune des deux !
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. " à " .$hour_heure;
$inser = 'INSERT INTO messages VALUES("", "'.$_SESSION['id'].'", "'.mysql_escape_string(str_replace('&#', '&#', htmlentities($_POST['expediteur'], ENT_QUOTES, "UTF-8"))).'", "'.$datenvoi.'", "'.mysql_escape_string(str_replace('&#', '&#', 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é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('&#', '&#',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
|
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. " à " .$hour_heure;
$inser = 'INSERT INTO messages VALUES("", "'.$_SESSION['id'].'", "'.mysql_escape_string(str_replace('&#', '&#', htmlentities($_POST['expediteur'], ENT_QUOTES, "UTF-8"))).'", "'.$datenvoi.'", "'.mysql_escape_string(str_replace('&#', '&#', 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é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('&#', '&#',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
|
Celui qui sacrifie sa liberté pour sa sécurité, ne mérite aucune des deux !
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
|
Celui qui sacrifie sa liberté pour sa sécurité, ne mérite aucune des deux !
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!!
|