bonjour, jai coder une zone membres et la je m'attaque au system de message privé et je rencontre un probleme, je peux accédé a la boite de messagerie mais quand je veux envoyé un message, ca me dit " cette action est impossible" je comprends pas pourquoi
jai beau cherché je trouve pas...
voila mes codes en 2 partie le form et aprés la page de traitement voila:
et la page de traitement
j'espere que vous pourrez m'aider je tiens beaucoup a ca, merci d'avance
Modifié par Dyphen (25 Sep 2007 - 22:21)
jai beau cherché je trouve pas...
voila mes codes en 2 partie le form et aprés la page de traitement voila:
<?php
<form method="post" action="postok.php?action=nouveaump" name="formulaire">
<p>
<label for="to">Envoyer à : </label>
<input type="text" size="30" id="to" name="to" />
<br />
<label for="titre">Titre : </label>
<input type="text" size="80" id="titre" name="titre" />
<br /><br /> // c'est le debut du form ca je vous montre qu'un morceau
case "nouveaump": //On envoie un nouveau mp
//On passe le message et le titre dans une série de fonction
$message = htmlspecialchars($_POST['message'], ENT_QUOTES);
$message = nl2br($message);
$titre = htmlspecialchars($_POST['titre'], ENT_QUOTES);
$temps = time();
$dest = mysql_real_escape_string($_POST['to']);
//On récupère la valeur de l'id du destinataire
//Il faut déja vérifier le nom
$requete = mysql_query('SELECT membre_id FROM zone_membres
WHERE membre_pseudo = "'.$dest.'"');
if($data = mysql_fetch_assoc($requete))
{
//Enfin on peut envoyer le message
mysql_query("INSERT INTO zone_mp
(mp_id, mp_expediteur, mp_receveur, mp_titre, mp_text, mp_time, mp_lu)
VALUES (',', '".$_SESSION['id']."' , '".$data['membre_id']."',
'".$titre."', '".$message."', '".$temps."', '0')")
or die ("Le message n'a pas pu être envoyé, veuillez réessayer");
echo'<p>Votre message a bien été envoyé!
<br /><br />Cliquez <a href="./index.php">ici</a> pour revenir à l accueil<br />
<br />Cliquez <a href="./messagesprives.php">ici</a> pour retourner à
la messagerie</p>';
}
//Sinon l'utilisateur n'existe pas !
else
{
echo'<p>Désolé ce membre n existe pas, veuillez vérifier et
réessayez à nouveau.</p>';
}
break;
?>
et la page de traitement
<?php
//Cette fonction doit être appelée avant tout code html
session_start();
//On donne ensuite un titre à la page, puis on appelle notre fichier debut.php
$titre = "Poster";
?>
<body>
<?php
//Maintenant, on se connecte à la base de données
include("identifiants.php");
mysql_connect($adresse, $nom, $motdepasse);
mysql_select_db($database);
//On récupère la valeur de la variable action
$action = htmlspecialchars($_GET['action']);
// Si le membre n'est pas connecté, il est arivé ici par erreur
if (!isset($_SESSION['pseudo']))
{
echo'<p>Erreur : Vous n êtes plus connecté</p>';
}
else //Sinon on lance la suite
{
switch($action)
{
//Premier cas : nouveau topic
case "nouveautopic":
//On passe le message dans une série de fonction
$message = htmlspecialchars($_POST['message'], ENT_QUOTES);
$message = nl2br($message);
//Pareil pour le titre
$titre = htmlspecialchars($_POST['titre'], ENT_QUOTES);
//ici seulement, maintenant qu'on est sur qu'elle existe, on récupère la valeur de la variable f
$temps = time();
if (empty($_POST['message']) || empty($_POST['titre']))
{
echo'<p>Votre message ou votre titre est vide, cliquez</p>';
}
else //Si jamais le message n'est pas vide
{
mysql_query("UPDATE zone_membres
SET membre_post = membre_post + 1
WHERE membre_id = '".$_SESSION['id']."'")
or die ("Un problème est survenu lors de l'envoi du message");
//Et un petit message
echo'<p>Votre message a bien été ajouté!<br /><br />Cliquez <a href="./index.php">ici</a> pour revenir à l index du forum<br /></p>';
}
break; //Houra !
//Deuxième cas : répondre
case "repondre":
//On passe le message dans une série de fonction
$message = htmlspecialchars($_POST['message'], ENT_QUOTES);
$message = nl2br($message);
//ici seulement, maintenant qu'on est sur qu'elle existe, on récupère la valeur de la variable t
$temps = time();
if (empty($_POST['message']))
{
echo'<p>Votre message est vide, cliquez pour recommencer</p>';
}
else //Sinon, si le message n'est pas vide
{
mysql_query("UPDATE zone_membres
SET membre_post = membre_post + 1
WHERE membre_id = '".$_SESSION['id']."'")
or die ("Une erreur semble avoir survenu lors de l'envoi du message");
//Et un petit message
echo'<p>Votre message a bien été ajouté!<br /><br />Cliquez <a href="./index.php">ici</a> pour revenir à l index du forum<br /> pour le voir</p>';
}
break;
default;
echo'<p>Cette action est impossible</p>';
} //Fin du Switch
} //Fin du else, le membre est connecté
mysql_close();
?>
</div>
</body>
</html>
j'espere que vous pourrez m'aider je tiens beaucoup a ca, merci d'avance

Modifié par Dyphen (25 Sep 2007 - 22:21)