le 13/01/2005 à 14:13
silver
non ca fonctionne très bien pkoi ?
// on teste si le formulaire a bien été soumis
if (isset($_POST['go']) && $_POST['go'] == 'Envoyer') {
if (empty($_POST['titre']) || empty($_POST['message'])) {
$erreur = 'Vous devez entrer un texte pour pouvoir envoyer le message';
}
else {
$base = mysql_connect ('localhost', 'root', '');
mysql_select_db ('espace_membre', $base);
// si tout a été bien rempli, on insère le message dans notre table SQL
mysql_query('INSERT INTO messages VALUES("", "'.$_SESSION['id'].'", "'.$_POST['destinataire'].'", "'.date("Y-m-d H:i:s").'", "'.$_POST['titre'].'", "'.addslashes($_POST['message']).'","")');
mysql_query('INSERT INTO messages_env VALUES("", "'.$_SESSION['id'].'", "$id_message", "'.date("Y-m-d H:i:s").'", "'.addslashes($_POST['titre']).'", "'.addslashes($_POST['message']).'","")');
//mysql_query($sql) or die('Erreur SQL !'.$sql.''.mysql_error());
mysql_close();
Pour l'envoi du formulaire à la base :
<?php
$iddest=$data['id_expediteur'];
echo $iddest;
// on teste si le formulaire a bien été soumis
if (isset($_POST['go']) && $_POST['go'] == 'Envoyer') {
if (empty($_POST['destinataire']) || empty($_POST['titre']) || empty($_POST['message'])) {
$erreur = 'Au moins un des champs est vide.';
}
$base = mysql_connect ('localhost', 'root', 'password');
mysql_select_db ('speedfrance', $base);
// si tout a été bien rempli, on insère le message dans notre table SQL
$sql = 'INSERT INTO messages VALUES ("", "'.$_SESSION['id'].'", "'.$iddest.'", "'.date("Y-m-d H:i:s").'", "'.mysql_escape_string($_POST['titre']).'", "'.mysql_escape_string($_POST['message']).'")';
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());
mysql_close();
header('Location: membres.php');
exit();
}
?>
Le formulaire :
<form action="repondre.php" method="post">
<p align="left"><font color="#FF0000">Pour :
<?php
// on teste si notre paramètre existe bien et qu'il n'est pas vide
if (!isset($_GET['id_message']) || empty($_GET['id_message'])) {
echo 'Aucun message reconnu.';
}
else {
// on se connecte a la base
$base = mysql_connect ('localhost', 'root', 'password');
mysql_select_db ('speedfrance', $base);
// on prepare la requete qui va selectionner les champs du message
$sql = 'SELECT titre, date, message, membre.login as expediteur, membre.id as id_expediteur FROM messages, membre WHERE id_destinataire= "'.$_SESSION['id'].'" AND id_expediteur=membre.id AND messages.id="'.$_GET['id_message'].'"';
// on lance cette requette sql pour optenir id expediteur que nous aurons besoin
$req = mysql_query($sql) or die('Erreur SQL !<br />
</div>
'.$sql.'<br />'.mysql_error());
$nb = mysql_num_rows($req);
if ($nb == 0) {
echo 'Aucun message reconnu.';
}
else {
// si le message a été trouvé, on recupere l'id et le login de l'expediteur que l'ont transforme en variable
$data = mysql_fetch_array($req);
$iddest=$data['id_expediteur'];
$dest=$data['expediteur'];
}
}
// on affiche le destinataire.
echo $dest, '<br /><br />';
?>
</font></p>
<p align="left"><br />
<font color="#FF0000">Objet : </font>
<input type="text" name="titre" value="Re : <?php echo stripslashes(htmlentities(trim($data['titre']))); ?>" size="20"></p>
<p align="left">
<textarea name="message" rows="7" cols="68"><?php if (isset($_POST['message'])) echo stripslashes(htmlentities(trim($_POST['message']))); ?></textarea></p>
<p align="left"> <br />
<input type="submit" name="go" value="Envoyer" style="float: left"> </p>
</form>
<textarea name="message" rows="7" cols="68"><?php if (isset($_POST['message'])) echo stripslashes(htmlentities(trim($_POST['message']))); ?></textarea></p>
<p align="left"> <br />
<input type="hidden" name="destinataire" value="<?php echo$iddest; ?>" />
<input type="submit" name="go" value="Envoyer" style="float: left"> </p>
<?php
$sql = 'INSERT INTO messages VALUES ("", "'.$_SESSION['id'].'", "'.mysql_real_escape_string($_POST['destinataire'].'", "'.date("Y-m-d H:i:s").'", "'.mysql_escape_string($_POST['titre']).'", "'.mysql_escape_string($_POST['message']).'")';
?>