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.' " ');
    3
    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?
      1
      1. if(isset($_GET['modif'])) {

        c'est volontaire de ne pas fermer l'acolade?
        1
        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
          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
            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
              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
                1. je vais regardé ca demain à tête reposé merci pour vos conseils . j'arrete pour ce soir
                  2