Page 1 sur 1

Problème d'ajout/modification de news

Posté : 09 août 2007, 16:35
par N44PS
Bonjour tout le monde ! :D
<!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("test");

//-----------------------------------------------------
// Vérification 1 : est-ce qu'on veut poster une news ?
//-----------------------------------------------------

if (isset($_POST['titre']) AND isset($_POST['auteur']) AND isset($_POST['contenu']))
{
    $titre = addslashes($_POST['titre']);
	$auteur = addslashes($_POST['auteur']);
    $contenu = addslashes($_POST['contenu']);
    // On vérifie si c'est une modification de news ou pas
    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 . "', '" . $auteur . "', '" . $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 . "', auteur='" . $auteur ."', contenu='" . $contenu . "' WHERE id='" . $_POST['id_news'] . "'");
    }
}


//--------------------------------------------------------
// Vérification 2 : est-ce qu'on veut supprimer une news ?
//--------------------------------------------------------

if (isset($_GET['supprimer_news'])) // Si 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>Editer</th>
<th>Supprimer</th>
<th>Titre</th>
<th>Auteur</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 stripslashes($donnees['auteur']); ?></td>
<td><?php echo date('d/m/Y', $donnees['timestamp']); ?></td>
</tr>

<?php
} // Fin de la boucle qui liste les news
?>
</table>

</body>
</html>
Ce code devrait me permettr de modifier, ajouter ou supprimer des news ( système de news ).
Mais je suis ici parce que j'ai un problème !
Donc je vous l'expose :

Tout marche sauf l'ajout et la modification des news.
Je peux tout de même ajouter ou modifier une news par le biai de ma BDD.
Mais je ne peux pas le faire avec la page que j'ai créée pour !

Donc bref, quelqu'un peut m'aider ? Merci !

Posté : 09 août 2007, 16:54
par Ryle
Et qu'est ce qui ne fonctionne pas ?

- As-tu vérifié que les conditions des if() étaient bien respectée en affichant les valeurs testées ?
- As-tu vérifié que la syntaxe et les valeurs de la requête était correcte en affichant la chaine générée ?
- As-tu vérifié que l'exécution de la requête ne retournait pas d'erreur avec la fonction mysql_error() ?
- ...

Posté : 09 août 2007, 17:13
par N44PS
Les condition sont bonnes... J'ai essayé avec " or die... " et cette fois ça m'as mis que des erreur là ou je les avait mis, donc du coup je les ai enlevé, et.. Ca marche ! :D
Etrange, c'est le même script que celui que j'ai montré... Mais ca marche :)

Posté : 09 août 2007, 17:21
par Ryle
ben... euh..... hum.... ET VOILA !!! :)

Encore un script qui fonctionne après son passage sur phpfrance ! .. hum 8-|

Plus qu'à à ajouter le tag [Résolu] avec le bouton Image
en haut à gauche du sujet ;)

Posté : 09 août 2007, 17:44
par Sékiltoyai
Encore un script qui fonctionne après son passage sur phpfrance ! .. hum 8-|
C'est rare :mrgreen:

Non, non, pas taper, pas taper :D

Posté : 09 août 2007, 19:24
par zeus
[Message from server] User Sekiltoyai has been banned from PHPFrance. Reason : "non mais dit :evil:"

:langue:

Posté : 09 août 2007, 19:56
par Sékiltoyai
Dommage que tu n'aies pas les droits d'administration :p

Posté : 09 août 2007, 20:01
par zeus
on a un mod qui détecte ce genre de message provenant des modos et qui réalisent les bannissements :twisted:

bah quoi, j'ai le droit de rêver ... :shock: