IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques & Frameworks Discussion :

Je ne peux pas éditer mes news [TinyMCE]


Sujet :

Bibliothèques & Frameworks

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2013
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2013
    Messages : 27
    Points : 13
    Points
    13
    Par défaut Je ne peux pas éditer mes news
    Bonjour tout le monde!

    Je ne sais pas trop si ce topic est à sa place car j'utilise Tinymce et Php/Mysql. Je vous décris déjà le souci

    Voilà, je me suis installé une BBCode pour éditer, créer mes articles sur mon blog (entièrement fait main). La BBcode est Tinymce (dernière version).

    Le seul souci est que lorsque je veux éditer un article (qui apparait bien sur la page d'accueil après création et dans ma liste de News créés), celui-ci n'apparait pas dans la case BBcode. C'est à dire que le texte à éditer n'apparait pas. Pourtant l'article est bien dans ma liste de News et donc présent.

    Je ne sais pas si vous avez besoin de voir la page où j'ai inséré le code Javascript + case dans laquelle écrire ? Ceci dit, j'ai fait comme dans les tutos et mes requêtes SQL semblent être bonnes (dans le fichier qui génère la modif' sur la table).

    D'avance, je vous remercie

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Il faudrait effectivement nous montrer ton code.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2013
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2013
    Messages : 27
    Points : 13
    Points
    13
    Par défaut
    Voici le code de la page qui comporte le script. Elle permet d'écrire les news. J'ai évidemment masqué les infos confidentielles:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
       <head>
           <title>Rédiger une news</title>
           <meta charset="utf-8" />
            <style type="text/css">
            </style>
    	<script type="text/javascript" src="tinymce/tinymce.min.js"></script>
    		<script type="text/javascript">
    tinymce.init({
            selector: "textarea",
    		plugins: [ "image emoticons directionality emoticons template textcolor" ],
     
    		toolbar1: "newdocument fullpage | bold italic underline strikethrough | alignleft aligncenter alignright alignjustify | styleselect formatselect fontselect fontsizeselect",
            toolbar2: "cut copy paste | searchreplace | bullist numlist | outdent indent blockquote | undo redo | link unlink anchor image media code | inserttime preview | forecolor backcolor",
            toolbar3: "table | hr removeformat | subscript superscript | charmap emoticons | print fullscreen | ltr rtl | spellchecker | visualchars visualblocks nonbreaking template pagebreak restoredraft",
    		});
    </script>
    </head>
        <body>
    <h3><a href="liste_news.php">Liste des News disponibles</a></h3>
    <form action="liste_news.php" method="post">
    <p>Titre : <input type="text" size="30" name="titre" value="<?php echo $titre; ?>" /></p>
    <p>
        Contenu : <br />
        <textarea name="contenu" cols="50" rows="10">
        <?php echo $contenu; ?>
        </textarea><br /> 
     
        <input type="hidden" name="id_news" value="<?php echo $id_news; ?>" />
        <input type="submit" value="Envoyer" />
    </p>
    </form>
     
    <?php
    mysql_connect("Nom de ma base de données", "Login", "MDP");
    mysql_select_db("Nom de ma BDD");
    if (isset($_GET['modifier_news'])) // Si on demande de modifier une news.
    {
        // On protège la variable « modifier_news » pour éviter une faille SQL.
        $_GET['modifier_news'] = mysql_real_escape_string(htmlspecialchars($_GET['modifier_news']));
        // On récupère les informations de la news correspondante.
        $retour = mysql_query('SELECT * FROM news WHERE id=\'' . $_GET['modifier_news'] . '\'');
        $donnees = mysql_fetch_array($retour);
     
        // On place le titre et le contenu dans des variables simples.
        $titre = stripslashes($donnees['titre']);
        $contenu = stripslashes($donnees['contenu']);
        $id_news = $donnees['id']; // Cette variable va servir pour se souvenir que c'est une modification.
    }
    else // C'est qu'on rédige une nouvelle news.
    {
        // Les variables $titre et $contenu sont vides, puisque c'est une nouvelle news.
        $titre = '';
        $contenu = '';
        $id_news = 0; // La variable vaut 0, donc on se souviendra que ce n'est pas une modification.
    }
    ?>
     
     
    </body>
    </html>
    La page qui contient la liste des News et qui permet de supprimer, modifier, ajouter.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    <!DOCTYPE html">
    <html lang="fr">
       <head>
           <title>Liste des news</title>
            <meta charset="utf-8" />
            <style type="text/css">
            h2, th, td
            {
                text-align:center;
            }
            table
            {
                border-collapse:collapse;
                border:2px solid black;
                margin:auto;
            }
            th, td
            {
                border:1px solid black;
            }
            </style>
        </head>
     
        <body>
     
    <h2><a href="rediger_news.php">Ajouter une news</a></h2>
    <?php
    mysql_connect("Nom de ma base de données", "Login", "MDP");
    mysql_select_db("Login");
    //-----------------------------------------------------
    // Vérification 1 : est-ce qu'on veut poster une news ?
    //-----------------------------------------------------
    if (isset($_POST['titre']) AND isset($_POST['contenu']))
    {
        $titre = addslashes($_POST['titre']);
        $contenu = addslashes($_POST['contenu']);
        // On vérifie si c'est une modification de news ou non.
        if ($_POST['id_news'] == 0)
        {
            // Ce n'est pas une modification, on crée une nouvelle entrée dans la table.
            mysql_query("INSERT INTO news VALUES('', '" . $titre . "', '" . $contenu . "', '" . time() . "')");
        }
        else
        {
            // On protège la variable "id_news" pour éviter une faille SQL.
            $_POST['id_news'] = addslashes($_POST['id_news']);
            // C'est une modification, on met juste à jour le titre et le contenu.
            mysql_query("UPDATE news SET titre='" . $titre . "', contenu='" . $contenu . "' WHERE id='" . $_POST['id_news'] . "'");
        }
    }
     
    //--------------------------------------------------------
    // Vérification 2 : est-ce qu'on veut supprimer une news ?
    //--------------------------------------------------------
    if (isset($_GET['supprimer_news'])) // Si l'on demande de supprimer une news.
    {
        // Alors on supprime la news correspondante.
        // On protège la variable « id_news » pour éviter une faille SQL.
        $_GET['supprimer_news'] = addslashes($_GET['supprimer_news']);
        mysql_query('DELETE FROM news WHERE id=\'' . $_GET['supprimer_news'] . '\'');
    }
    ?>
    <table><tr>
    <th>Modifier</th>
    <th>Supprimer</th>
    <th>Titre</th>
    <th>Date</th>
    </tr>
    <?php
    $retour = mysql_query('SELECT * FROM news ORDER BY id DESC');
    while ($donnees = mysql_fetch_array($retour)) // On fait une boucle pour lister les news.
    {
    ?>
    <tr>
    <td><?php echo '<a href="rediger_news.php?modifier_news=' . $donnees['id'] . '">'; ?>Modifier</a></td>
    <td><?php echo '<a href="liste_news.php?supprimer_news=' . $donnees['id'] . '">'; ?>Supprimer</a></td>
    <td><?php echo stripslashes($donnees['titre']); ?></td>
    <td><?php echo date('d/m/Y', $donnees['timestamp']); ?></td>
    </tr>
    <?php
    } // Fin de la boucle qui liste les news.
    ?>
    </table>
    </body>
    </html>

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu utilises $contenu avant de l'avoir défini.

    au passage :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $_GET['modifier_news'] = mysql_real_escape_string(htmlspecialchars($_GET['modifier_news']));
        // On récupère les informations de la news correspondante.
        $retour = mysql_query('SELECT * FROM news WHERE id=\'' . $_GET['modifier_news'] . '\'');
    Plus efficace et simple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     $retour = mysql_query('SELECT * FROM news WHERE id=' .  intval($_GET['modifier_news']));
    Pareil stripslashes() s'utilisait des les vieilles version de PHP quand il y avait les magic_quotes. Si c'est ton cas change de version ou desactive les magic_quotes.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2013
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2013
    Messages : 27
    Points : 13
    Points
    13
    Par défaut
    Pour $contenu, peux-tu me montrer où s'il te plait ? Je suis assez novice du coup je bidouille pas mal pour apprendre

    J'ai également ajouté la page qui contient la liste des News.

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Tout ton bloc PHP ligne 34-57 doit être au début du script puisqu'il défini $contenu, $titre qui sont utilisé lignes 22-29
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2013
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2013
    Messages : 27
    Points : 13
    Points
    13
    Par défaut
    Génial ! Merci, tu as résolu mon problème. Encore une faute d'inattention... Mais au moins j'ai compris! Merci encore pour ta réactivité!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. je ne peux pas utiliser les touches de mon clavier dans mes programmes
    Par filandouss dans le forum Général Python
    Réponses: 3
    Dernier message: 03/01/2018, 10h10
  2. Je ne peux pas éditer une fenêtre XAML sous VS2008
    Par bruce-willis dans le forum Windows Presentation Foundation
    Réponses: 1
    Dernier message: 05/04/2011, 16h41
  3. Je ne peux pas corriger mes fautes d'orthographe (commentaire blog)?
    Par lepinekong dans le forum Mode d'emploi & aide aux nouveaux
    Réponses: 1
    Dernier message: 06/01/2010, 21h39
  4. [VBA E] J'peux pas déprotéger mes feuilles.
    Par Gamal le Celte dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 18/04/2007, 15h54
  5. pourquoi je peux pas parler pgplsql ?
    Par blob.b dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 09/09/2003, 23h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo