Formulaire pas traité en entier
Résolu
David987
Messages postés
145
Statut
Membre
-
David987 Messages postés 145 Statut Membre -
David987 Messages postés 145 Statut Membre -
Bonjour,
J'ai un petit souci mais alors ça fait 2 jours que je suis dessus et je ne comprend pas, soit je suis aveugle, soit je suis bête, voici mon code et l'explication ensuite.
Formulaire
Traitement PHP
Alors voici mon problème :
lorsque j'envoie un MP tous s'enregistre SAUF le titre et je ne vois pas ou ça merde.
Help please.
J'ai un petit souci mais alors ça fait 2 jours que je suis dessus et je ne comprend pas, soit je suis aveugle, soit je suis bête, voici mon code et l'explication ensuite.
Formulaire
<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" value="Sans titre"/> <fieldset><legend>Message</legend> <textarea cols="80" rows="8" id="message" style="font-family:Tahoma; font- size:13px;" name="message"></textarea></fieldset> <input type="submit" name="submit" value="Poster" /> <input type="reset" name = "Effacer" value = "Vider"/> </p></form>
Traitement PHP
$message = stripslashes(htmlspecialchars($_POST['message']));
$titre = stripslashes(htmlspecialchars($_POST['titre']));
if ($titre = "")
{
$titre2 = 'Sans Titre';
}
else
{
$titre2 = $titre;
}
$temps = time();
$dest = stripslashes(htmlspecialchars($_POST['to']));
//On récupère la valeur de l'id du destinataire
//Il faut déja vérifier le nom
$query=$bdd->prepare('SELECT ID FROM membres
WHERE LOWER(pseudo) = :dest');
$query->bindValue(':dest',$dest,PDO::PARAM_STR);
$query->execute();
if($data = $query->fetch())
{
$query=$bdd->prepare('INSERT INTO forum_mp
(mp_id, mp_expediteur, mp_receveur, mp_titre, mp_text, mp_time, mp_lu)
VALUES(:id1, :id, :dest, :titre, :txt, :tps, :lu)');
$query->bindValue(':id1','',PDO::PARAM_INT);
$query->bindValue(':id',$ID,PDO::PARAM_INT);
$query->bindValue(':dest',(int) $data['ID'],PDO::PARAM_INT);
$query->bindValue(':titre',$titre2,PDO::PARAM_STR);
$query->bindValue(':txt',$message,PDO::PARAM_STR);
$query->bindValue(':tps',$temps,PDO::PARAM_INT);
$query->bindValue(':lu','0',PDO::PARAM_STR);
$query->execute();
$query->CloseCursor();
echo'<p>Votre message a bien été envoyé!
<br /><br />Cliquez <a href="./index.php" rel="nofollow noopener noreferrer" target="_blank">ici</a> pour revenir à l index du
forum<br />
<br />Cliquez <a href="./messagesprives.php" rel="nofollow noopener noreferrer" target="_blank">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>';
}
Alors voici mon problème :
lorsque j'envoie un MP tous s'enregistre SAUF le titre et je ne vois pas ou ça merde.
Help please.
1 réponse
-
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention Ambassadeur 1 588
bonsoir, moi je me méfierais deif ($titre = "")
, cela revient à écrire:$titre = ""; if ($titre)
.
peut-être plutôt:if ($titre == "")
?
pour arrêter de choisir d'être aveugle, faisecho $titre;
avant et après le if...