Précédent   Forum des professionnels en informatique > PHP > Langage > Débuter
Débuter Forum d'entraide pour débuter en PHP. Avant de poster -> Cours PHP, FAQ PHP, Outils PHP, etc.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 22/02/2011, 10h44   #1
Invité de passage
 
Homme David Bollinger
Développeur Web
Inscription : février 2011
Messages : 23
Détails du profil
Informations personnelles :
Nom : Homme David Bollinger
Localisation : Canada

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : février 2011
Messages : 23
Points : 3
Points : 3
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 :
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 :
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 :
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>
ourson78 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/02/2011, 11h08   #2
Membre Expert
 
Avatar de gene69
 
Inscription : janvier 2006
Messages : 951
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 : 951
Points : 1 063
Points : 1 063
ajoute le nom des colonnes explicitement dans
Code :
INSERT INTO news (????) VALUES ...
ensuite faut loger les requêtes dans mysql ( le query.log ).
__________________
PHP fait nativement la validation d'adresse électronique Vous êtes perdu en PHP? rassurez-vous ici (en)
Utilisez le bouton résolu!
gene69 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 11h12.


 
 
 
 
Partenaires

Hébergement Web