Problème d'ajout/modification de news

Petit nouveau ! | 3 Messages

09 août 2007, 16:35

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 !

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

09 août 2007, 16:54

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() ?
- ...
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Petit nouveau ! | 3 Messages

09 août 2007, 17:13

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 :)

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

09 août 2007, 17:21

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 ;)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

ViPHP
ViPHP | 5924 Messages

09 août 2007, 17:44

Encore un script qui fonctionne après son passage sur phpfrance ! .. hum 8-|
C'est rare :mrgreen:

Non, non, pas taper, pas taper :D

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

09 août 2007, 19:24

[Message from server] User Sekiltoyai has been banned from PHPFrance. Reason : "non mais dit :evil:"

:langue:
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

ViPHP
ViPHP | 5924 Messages

09 août 2007, 19:56

Dommage que tu n'aies pas les droits d'administration :p

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

09 août 2007, 20:01

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:
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer