PHP : Problème variable et condition...

Résolu/Fermé
Nowne Messages postés 89 Date d'inscription samedi 30 octobre 2010 Statut Membre Dernière intervention 7 mars 2011 - 19 janv. 2011 à 02:24
Nowne Messages postés 89 Date d'inscription samedi 30 octobre 2010 Statut Membre Dernière intervention 7 mars 2011 - 19 janv. 2011 à 14:08
Bonjour,

Bon, je désespère là... Ça fait depuis les 23h que je cherche un moyen de contourner ce problème, mais rien à faire et ca commence à m'agacer...
Donc je vous présente la bête :
Je voulais intégrer une condition 'If' dans une boucle "while" dans le bug d'afficher un lien pour supprimer les messages posté. Néanmoins, la condition devait lire l'id de l'utilisateur et la comparé à l'id enregistré par la personne qui à posté le message. Ce qui afficherais "supprimer" uniquement pour leurs messages. Mais rien à faire... Voici le script :
?>// Création de la variable de suppression message suivant l'utilisateur 
    $membre_id = $_SESSION['membre_id']; 
    $login_id = $donnees['login_id']; 
    $addid = $membre_id - $login_id;    
     

    // Affichage de chaques messages (toutes les données sont protégées par htmlspecialchars) 
    echo '<div id="last_message" style="cursor: help;" title="Affiche les 20 derniers messages postés sur le forum.">Derniers messages :</div>';  
       while ($donnees = $reponse->fetch()) 
       { 
        echo  '<p><em>Posté par ' . htmlspecialchars($donnees['login']) . '</em> <span id="date_post"> 
            (le ' . $donnees['date_post'] . ')</span> : ' ./* !!! ICI !!! */ $addid /* !!! ICI !!! */ . '              
             <br /><span id="message_post">' . htmlspecialchars($donnees['message']) . '</span></p>'; 
       } 
        
       // La commande echo affiche les 20 derniers messages avec le nom du posteur et la date. Moi je veux ajouter un lien de suppression automatique.


Je voudrais inséré cette condition :
if ($addid != 0) 
   {  
    echo '<span id="delete"><a href="minichat_delete" title="Supprime de manière définitive votre message.">Supprimer</a></span>';  
   }


Dans la partie : /* !!! ICI !!! */ $addid /* !!! ICI !!! */
Mais rien a faire...

Je pense que ca vient du If car ca bloque toujours là dessus avec un parse error [...] T_IF.

J'attends votre aide parce que là je suis bloqué.

Merci d'avance en tout cas.

EDIT : Désolé du double poste, je n'avais pas vu que j'étais en programmation...

A voir également:

3 réponses

BloodyAngel Messages postés 1479 Date d'inscription mardi 21 juin 2005 Statut Contributeur Dernière intervention 21 juin 2018 401
19 janv. 2011 à 02:54
Salut,
as-tu vérifié ce que contient ta variable $addid ?
Si tu ne mets pas ton if dans ton code, ça passe ou pas ?
0
Nowne Messages postés 89 Date d'inscription samedi 30 octobre 2010 Statut Membre Dernière intervention 7 mars 2011 4
19 janv. 2011 à 08:21
Oui, j'ai même réussi à afficher le résultat, mais pas correctement. Quand c'est le bon id du membre, celui ci donne zéro, seulement ca m'affiche zéro partout...
Si je ne met pas le if, ca passe par $addid mais ca m'affiche 0 partout, comme si il reprennait seulement le login_id du premier message...
0
Nowne Messages postés 89 Date d'inscription samedi 30 octobre 2010 Statut Membre Dernière intervention 7 mars 2011 4
19 janv. 2011 à 14:08
Voici donc la solution au problème, il fallait fermer l'instruction echo, ouvrir la condition if avec son instruction puis la fermer aussi avant d'ouvrir la dernière instruction echo pour terminer d'afficher le message ! :)
while (variable) {
         ...instruction ici... ;
         if (condition) {instruction}
         ...nouvelle instruction... ;
         }

0