[PHP-Mysql]UPDATE ne met pas à jour !

Résolu
kikadisa -  
 kikadisa -
Bonjour,
Je dois faire un script de news, et celui qui est censer les modifier, ne modifie rien du tout !
Voici le code du formulaire :
$donnees = mysql_query('SELECT * FROM news WHERE id=\'' . $id . '\'');
$news = mysql_fetch_array($donnees); ?>

<form method="POST" action="modifnews.php?page=Modification reussi">
<label>Date : <input type="text" name="date" size="40" value="<?php print $news['date']; ?>"/><em>(De la forme AAAA-MM-JJ)</em></label><br/>
<label>Description du rendez-vous : <br/>
<textarea rows="6" cols="75" name="news">
<?php echo $news['news']; ?>
</textarea></label><br/>
<label>auteur : <input type="text" name="nom" size="20" value="<?php echo $news['nom']; ?>"/></label><br/>
<input type="hidden" name="id" value="<?php echo $id ;?>" />
<input type="submit" value="Modifier !">
</form>


et celui qui est censer mettre à jour

if(isset($_POST['id']) AND $_POST['id']!=NULL  AND isset($_POST['date']) AND $_POST['date']!=NULL AND isset($_POST['nom']) AND $_POST['nom']!=NULL AND isset($_POST['news']) AND $_POST['news']!=NULL )
{
$id=$_POST['id'];

$date=$_POST['date'];
$date=htmlentities($date);

$news=$_POST['news'];
$news = stripslashes($news);
$news=htmlentities($news);
$news=nl2br($news);

$nom=$_POST['nom'];
$nom = stripslashes($nom);
$nom=htmlentities($nom);
$nom= nl2br($nom);
  
	mysql_connect("***","**","****");
	mysql_select_db("******");
	mysql_query("UPDATE news SET date=$date,news=$news, nom=$nom WHERE id=$id");
	mysql_close();


le UPDATE ne met rien à jour pourquoi ?
Configuration: Linux
Epiphany 2.14

10 réponses

  1. kikadisa
     
    Bonjour,
    C'est bon ce matin je me suis réveillé et après quelques pas, j'ai eu la réponse comme un éclair !

    Jocvendee, C'est pas la table mais la base.
    La table c'est news, donc faut remplacer jocvendee par news

    Quel con !
    2
  2. lewis34 Messages postés 2557 Date d'inscription   Statut Membre Dernière intervention   352
     
    bonsoir je te réponds rapidement
    essaye comme ça ;

    mysql_query("UPDATE news SET date='$date' ,news='$news' , nom='$nom' WHERE id='$id' ");
    


    et le noms de tes champs dans ta BD sont exactement ecris comme tu l'a écris (date news sera différent de Date News)
    1
  3. lewis34 Messages postés 2557 Date d'inscription   Statut Membre Dernière intervention   352
     
    bonsoir si tu utilise phpmyadmin (PMA) tu peut gerer les autoristaions depuis la page d''accueil
    je t'ai fait un screen

    http://milsodor.no-ip.org/ccm/pma/pma.JPG

    Avec free je sais pas comment ça se passe ,j'heberge moi meme mon site comme ça je suis tranquille.
    sinon tu peut faire un bout de code un peu comme ça pour voir

    $sql=("DELETE FROM jocvendee WHERE id='$id' ");
    mysql_query ($sql) or die ('Erreur SQL !'.$sql.'<br />'.mysql_error());

    comme ça tu verra exactement ce qui est pris dans ta requete.

    Car a priori y''a pas de raisons que ca marche pas.(sinon je ne vois qu'une question de privileges
    regarde par ici
    http://www.journaldunet.com/...

    Pense à placer des echos dans ton code pour voir ou ça plante,une fois cerné le probleme tu les vires.

    @+
    1
  4. kikadisa
     
    Woaw !
    j'étais bloqué dessus depuis 3-4 heure, un truc si con, y'a de quoi être dégouté, en tout cas bravo pour la réponse et merci !

    Je vais devoir rebouquiné un peu :)

    Tcho
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. lewis34 Messages postés 2557 Date d'inscription   Statut Membre Dernière intervention   352
     
    de rien ,
    je sais ce que c'est .. ;-)
    tu cherche des heures des soluces compliquées alors que c'est tout bête
    c'est des choses qui arrive à tout le monde
    @+
    0
  7. kikadisa
     
    Je Peux te remettre à l'épreuve.
    Cette fois-ci c'est DELETE FROM qui ne supprimme rien.

    Une idée pour sa ?

    elseif(isset($_POST['suppression']) AND isset($_POST['id']) AND $_POST['suppression']=="oui")
    {
    $id=$_POST['id'];
    $secteur=$_POST['secteur'];
    	mysql_query('DELETE FROM jocvendee WHERE id='$id' ');
    }
    0
  8. Yorundr Messages postés 284 Date d'inscription   Statut Membre Dernière intervention   44
     
    celle ci elle est simple, contrairement a tout a l'heure tu a mit des simple cote ce qui fait que ca ne peut pas fonctionner
    Il faut faire :
    mysql_query("DELETE FROM jocvendee WHERE id='$id' ");
    ou encore mieu
    mysql_query("DELETE FROM jocvendee WHERE id='".$id."';");
    0
  9. kikadisa
     
    La News elle part pas !
    Pourtant sur le papier, sa colle !
    0
  10. lewis34 Messages postés 2557 Date d'inscription   Statut Membre Dernière intervention   352
     
    bonsoir, verifie deja si l'utilisateur qui est loggé (je suppose que c'est toi) à les droits pour supprimer (grant all privileges)

    utilise plutot des doubles quotes " à la place des simples '
    comme yorundr l'a ecris
    mysql_query("DELETE FROM jocvendee WHERE id='$id' ");

    la seconde c'est pareil mais plus "académiques" en efet phpn'interprete pas de la meme maniere les valeurs contenus dans des "" ou dans des ''
    personellement à la maison j'utilise la 1ere mais au boulot ca arrive que j'emploie la 2eme (j'aime moins) ,mais le resultat est le meme dans la majorité des cas.
    Sauf si tu doit concatener plusieurs variables ,dans ce cas utilise la 2eme;
    souvient toi d'une chose comme tes requete par "

    une question ? $secteur=$_POST['secteur']; ça correspond à quoi ? ca a un lien avec ta requete?

    bon courage
    @+
    0
  11. kikadisa
     
    bon, j'ai modifié, j'ai meme essayé un script avec écrit en clair les requete SQL sans aucune variable $id
    et là, sa ne fonctionne pas la news persiste !

    Je pense faire une PDELETE FROM comme mysql_pconnect :)
    ( https://www.php.net/function.mysql-pconnect )

    Comment fait-ton pour passer un utilisateur en grant privilege sous free ?

    la variable, $secteur je ne l'utilisais pas encore là !
    le script est tronqué à l'essentiel.
    0