Formulaire pas traité en entier [Résolu]

David987 11 Messages postés samedi 19 décembre 2015Date d'inscription 27 novembre 2017 Dernière intervention - 4 oct. 2017 à 21:22 - Dernière réponse : David987 11 Messages postés samedi 19 décembre 2015Date d'inscription 27 novembre 2017 Dernière intervention
- 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.

Afficher la suite 
11Messages postés samedi 19 décembre 2015Date d'inscription 27 novembre 2017 Dernière intervention

2 réponses

Répondre au sujet
yg_be 4116 Messages postés lundi 9 juin 2008Date d'inscriptionContributeurStatut 11 décembre 2017 Dernière intervention - Modifié par yg_be le 4/10/2017 à 21:49
0
Utile
1
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...
David987 11 Messages postés samedi 19 décembre 2015Date d'inscription 27 novembre 2017 Dernière intervention - 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.
Commenter la réponse de yg_be