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

Langage PHP Discussion :

problème dans mon système de news


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2011
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Février 2011
    Messages : 25
    Points : 15
    Points
    15
    Par défaut problème dans mon système de news
    Bonjour, j'ai un souci sur mon système de news, impossible d'ajouter ou de modifier une news, pas d'inscription dans la base de donnée.

    on a 3 pages: index.php récupère les 5 dernières news et les affiches
    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
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
       <head>
           <title>Bienvenue sur mon site</title>
            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
            <style type="text/css">
    h1, h3
            {
                text-align:center;
            }
            h3
            {
                background-color:black;
                color:white;
                font-size:0.9em;
                margin-bottom:0px;
            }
            .news p
            {
                background-color:#CCCCCC;
                margin-top:0px;
            }
            .news
            {
                width:70%;
                margin:auto;
            }
            </style>
        </head>
     
        <body>
            <h1> Bienvenue sur mon site !</h1>
            <p> Voici les dernières news </p>
     
            <?php
            mysql_connect("localhost", "root", "");
            mysql_select_db("news");
     
            //ON récupère les 5 dernières news
            $retour = mysql_query('SELECT * FROM news ORDER BY id DESC LIMIT 0, 5');
            while ($donnees = mysql_fetch_array($retour))
            {
              ?>
              <div class="news">
                <h3>
                    <?php echo $donnees['titre']; ?>
                    <em><?php echo date('d/m/Y à h\hi'); ?></em>
               </h3>
     
                <p>
                    <?php
                        $contenu = nl2br(stripslashes($donnees['contenu']));
                        echo $contenu
                    ?>
                </p>    
             </div>
     
            <?php        
            }
            ?>
     
     
        </body>
    </html>
    ensuite on a liste_news.php :
    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
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
       <head>
           <title>Liste des news</title>
            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
            <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("localhost", "root", "");
          mysql_select_db("news");
     
          //verif 1 : veut-on poster une news?
          if(isset($_POST['titre']) AND isset($_POST['contenu']))
          {
             $titre = addslashes($_POST['titre']);
             $contenu = addslashes($_POST['contenu']);
     
          //verif si c'est une modif de news ou pas
           if($_POST['id_news'] == 0)
             {
                mysql_query("INSERT INTO news VALUES ('', '" . $titre ."', '" . $contenu . "', '" . time() . "')");
             }
             else
             {
                //Protection faille sql
                $_POST['$id_news'] = addslashes($_POST['id_news']);
                mysql_query("UPDATE news SET titre='" . $titre . "', contenu = '". $contenu . "', where id = '". $_POST['id_news'] . "'");
             }
          }
     
          //Verif 2 : veut-on supprimer une news?
          if(isset($_GET['supprimer_news']))
          {
             $_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))
             {
                ?>
                <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'); ?></td>
                </tr>
             <?php
             }
             ?>
          </table>
     
        </body>
    </html>
    et pour finir rediger_news.php :
    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
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
       <head>
           <title>Rédiger une news</title>
            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
            <style type="text/css">
            h3, form
            {
                text-align:center;
            }
            </style>
     
            <h3><a href="liste_news.php"> Retour vers la liste des news</a></h3>
     
            <?php
            mysql_connect("localhost", "root", "");
            mysql_select_db("news");
     
            //si on veut modifier une news
            if(isset($_GET['modifier_news']))
            {
                $_GET['modifier_news'] = mysql_real_escape_string(htmlspecialchars($_GET['modifier_news']));
     
                //Récupération info news correpondante
                $retour = mysql_query("SELECT * FROM news WHERE id='". $_GET['modifier_news'] . "'");
                $donnees = mysql_fetch_array($retour);
     
                //on place titre  et contenu dans une variable simple, $id_news sert à se souvenir que c'est une modif
                $titre = stripslashes($donnees['titre']);
                $contenu = stripslashes($donnees['contenu']);
                $id_news = $donnees['id'];
            }
            else // Alors c'est une création de news
            {
                $titre = "";
                $contenu = "";
                $id_news = 0;
            }
     
            ?>
     
            <form action="liste_news.php" method="post">
                <p> Titre : <input type="text" name="titre" value="<?php echo $titre; ?>" /></p>
                <p>
                    Contenu :<br />
                    <textarea name="contenu" >
                        <?php echo $contenu; ?>
                    </textarea>
                    <br />
     
                    <input type="hidden" name="id_news" value= "<?php echo $id_news; ?>" />
                    <input type="submit" value= "ok" />
     
                </p>
            </form>
     
        </body>
    </html>
    voilà, merci d'avance pour votre aide car la je suis bloqué(je dors plus)



    <config>Windows 7 / Firefox 3.6.13</config>

  2. #2
    Membre émérite
    Avatar de gene69
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 769
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 769
    Points : 2 446
    Points
    2 446
    Par défaut
    ajoute le nom des colonnes explicitement dans
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    INSERT INTO news (????) VALUES ...
    ensuite faut loger les requêtes dans mysql ( le query.log ).
    PHP fait nativement la validation d'adresse électronique .
    Celui qui a inventé mysql_connect(...) or die() est déjà mort plusieurs fois.

    Utilisez le bouton résolu!

Discussions similaires

  1. [PHP 5.3] problème dans mon système de news
    Par ourson78 dans le forum Langage
    Réponses: 4
    Dernier message: 22/02/2011, 12h37
  2. Réponses: 4
    Dernier message: 03/02/2011, 20h58
  3. [MySQL] Ajout de photo dans mon système de news
    Par polux31 dans le forum PHP & Base de données
    Réponses: 11
    Dernier message: 02/02/2011, 11h51
  4. Problème dans mon système de news :-(
    Par P1xHeLL dans le forum Langage
    Réponses: 0
    Dernier message: 10/12/2010, 02h17
  5. Réponses: 2
    Dernier message: 03/05/2007, 09h00

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