Php+sql:requete update

Bonjour,
voila mon code, ma requête update ne fonctionne pas : il doit y avoir une erreur avec les guillemets mais je trouve pas. :'(

voici mon code :

if(isset($_GET['modif'])){
$id_news_a_modif=$_GET['modif'];
$requete = mysql_query("SELECT * FROM news WHERE id='$id_news_a_modif'");// on recupère la news pour l 'afficher dans le formulaire
$enregistrement=mysql_fetch_array($requete);
$titre=$enregistrement['titre'];
$contenu=$enregistrement['contenu'];

if(isset($_POST['modifier'])){
$titre=$_POST['titre'];
$contenu=$_POST['contenu'];
//on met à jour la news dans la table
$modification=mysql_query("UPDATE news SET titre='$titre', contenu='$contenu' WHERE id='$id_news_a_modif'");

}
// ce formulaire sert à la modification
echo"<form method='post' action='{$_SERVER['PHP_SELF']}'>
<h2>Ajout d'une news</h2>
<em>entrez le titre de votre news: </em><input type='text' name='titre' size='50' value=$titre><br><br>
<em>entrez le contenu de votre news: </em><p><textarea name='contenu' cols='80' rows='16'>";
echo $contenu;//on affiche le contenu à modifier
echo"
</textarea></p>
<input type='submit' class='button' name='modifier' value='Modifier la news'>
</form>";

merci :)
Configuration: Windows XP
Firefox 2.0.0.12

8 réponses

  1. essaie :

    $modification=mysql_query('UPDATE news SET titre=" ' .$titre.'", contenu=" '.$contenu.' " WHERE id=" '.$id_news_a_modif.' " ');
    1. je vais regardé ca demain à tête reposé merci pour vos conseils . j'arrete pour ce soir
      1. Normalement j'ai modifié le problème de l'accolade...
        Il ne te reste plus qu'à suivre les conseils du père ;)
        a+
        1. Bonjour

          Ton second isset n'est pas activé parcequ'il est à l'intérieur du premier : il te manque une }

          Tes guillemets sonts corrects SAUF que comme 99% des gens tu ne protèges pas tes champs contres les apostrophes. Les gens ont le droit de mettre de ' et des " dans tes news, et là ta requête échouera à coup sûr :

          $modification=mysql_query("UPDATE news SET titre=''.mysql_real_escape_string($titre)."', contenu='".mysql_real_escape_string($contenu)."' WHERE id='".mysql_real_escape_string($id_news_a_modif)."'");
          1. essaies ca :
            <?php
            include("configuration_sql.php");
            // on regarde si l'on veut modifier la news(grace à l'URL)
            if(isset($_GET['modif']))
            {
            $id_news_a_modif=$_GET['modif'];
            $requete = mysql_query('SELECT * FROM news WHERE id="'.$id_news_a_modif.'"');// on recupère la news pour l 'afficher dans le formulaire
            $enregistrement=mysql_fetch_array($requete);
            $titre=$enregistrement['titre'];
            $contenu=$enregistrement['contenu'];

            if(isset($_POST['modifier'])){
            echo"dzjsbjclkscnsnvjknwj";
            $titre=$_POST['titre'];
            $contenu=$_POST['contenu'];
            echo $contenu;
            //on met à jour la news dans la table
            $modification=mysql_query('UPDATE news SET titre="'.$titre.'", contenu="'.$contenu.'" WHERE id="'.$id_news_a_modif.'"');
            }

            // ce formulaire sert à la modification
            echo"<form method='post' action='{$_SERVER['PHP_SELF']}'>
            <h2>Ajout d'une news</h2>
            <em>entrez le titre de votre news: </em><input type='text' name='titre' size='50' value=$titre><br><br>
            <em>entrez le contenu de votre news: </em><p><textarea name='contenu' cols='80' rows='16'>";
            echo $contenu;//on affiche le contenu à modifier
            echo"
            </textarea></p>
            <input type='submit' class='button' name='modifier' value='Modifier la news'>
            </form>";

            echo"<a href=zone_admin.php>Retour au menu administration</a>";

            }
            else
            {
            //sinon on veut l'ajouter
            $date=time();
            $titre=$_POST['titre'];
            $contenu=$_POST['contenu'];
            $requete = mysql_query("insert into news values('','". $titre . "','". $contenu . "','" . $date . "')");

            // ce formulaire sert à l'ajout
            echo"<form method='post' action='{$_SERVER['PHP_SELF']}'>
            <h2>Ajout d'une news</h2>
            <em>entrez le titre de votre news: </em><input type='text' name='titre' size='50'><br><br>
            <em>entrez le contenu de votre news: </em><p><textarea name='contenu' cols='80' rows='16'></textarea></p>
            <input type='submit' class='button' name='ajout' value='Ajouter la news'>
            </form>";

            echo"<a href=zone_admin.php>Retour au menu administration</a>";
            }
            ?>
            1. oui c est un bout du code voici le code complet:

              <?php
              include("configuration_sql.php");
              // on regarde si l'on veut modifier la news(grace à l'URL)
              if(isset($_GET['modif'])){
              $id_news_a_modif=$_GET['modif'];
              $requete = mysql_query("SELECT * FROM news WHERE id='$id_news_a_modif'");// on recupère la news pour l 'afficher dans le formulaire
              $enregistrement=mysql_fetch_array($requete);
              $titre=$enregistrement['titre'];
              $contenu=$enregistrement['contenu'];

              if(isset($_POST['modifier'])){
              echo"dzjsbjclkscnsnvjknwj";
              $titre=$_POST['titre'];
              $contenu=$_POST['contenu'];
              echo $contenu;
              //on met à jour la news dans la table
              $modification=mysql_query('UPDATE news SET titre=" ' .$titre.'", contenu=" '.$contenu.' " WHERE id=" '.$id_news_a_modif.' " ');
              }

              // ce formulaire sert à la modification
              echo"<form method='post' action='{$_SERVER['PHP_SELF']}'>
              <h2>Ajout d'une news</h2>
              <em>entrez le titre de votre news: </em><input type='text' name='titre' size='50' value=$titre><br><br>
              <em>entrez le contenu de votre news: </em><p><textarea name='contenu' cols='80' rows='16'>";
              echo $contenu;//on affiche le contenu à modifier
              echo"
              </textarea></p>
              <input type='submit' class='button' name='modifier' value='Modifier la news'>
              </form>";

              echo"<a href=zone_admin.php>Retour au menu administration</a>";

              }else{
              //sinon on veut l'ajouter
              if(isset($_POST['ajout'])){
              $date=time();
              $titre=$_POST['titre'];
              $contenu=$_POST['contenu'];
              $requete = mysql_query("insert into news values('','". $titre . "','". $contenu . "','" . $date . "')");

              }
              // ce formulaire sert à l'ajout
              echo"<form method='post' action='{$_SERVER['PHP_SELF']}'>
              <h2>Ajout d'une news</h2>
              <em>entrez le titre de votre news: </em><input type='text' name='titre' size='50'><br><br>
              <em>entrez le contenu de votre news: </em><p><textarea name='contenu' cols='80' rows='16'></textarea></p>
              <input type='submit' class='button' name='ajout' value='Ajouter la news'>
              </form>";

              echo"<a href=zone_admin.php>Retour au menu administration</a>";
              }
              ?>
              1. if(isset($_GET['modif'])) {

                c'est volontaire de ne pas fermer l'acolade?
                1. oui je crosi que c'est ca mais c'est mon algo qui doit pas fonctionner mon second isset n'est jamais activé je crois.
                  Quelqu un a une solution?