Signaler

Formulaire pas traité en entier [Résolu]

Posez votre question David987 9Messages postés samedi 19 décembre 2015Date d'inscription 4 octobre 2017 Dernière intervention - Dernière réponse le 4 oct. 2017 à 21:53 par David987
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.

Utile
+0
plus moins
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 9Messages postés samedi 19 décembre 2015Date d'inscription 4 octobre 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.
Répondre
Donnez votre avis

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !