Formulaire pas traité en entier

Résolu/Fermé
David987 Messages postés 121 Date d'inscription samedi 19 décembre 2015 Statut Membre Dernière intervention 16 octobre 2022 - Modifié le 4 oct. 2017 à 21:26
David987 Messages postés 121 Date d'inscription samedi 19 décembre 2015 Statut Membre Dernière intervention 16 octobre 2022 - 4 oct. 2017 à 21:53
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
 <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 22723 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 25 avril 2024 1 476
Modifié le 4 oct. 2017 à 21:49
bonsoir, moi je me méfierais de
if ($titre = "")
, cela revient à écrire:
$titre = "";
if ($titre)
.
peut-être plutôt:
if ($titre == "")
?
pour arrêter de choisir d'être aveugle, fais
echo $titre;
avant et après le if...
0
David987 Messages postés 121 Date d'inscription samedi 19 décembre 2015 Statut Membre Dernière intervention 16 octobre 2022 1
4 oct. 2017 à 21:53
GRRRRRR que je suis naze moi rha lala bin oui ça marche mieux avec le double égale pfff je suis dépité là ^^

En tous cas, merci à toi yg_be.
0