[PHP-Mysql]UPDATE ne met pas à jour ! [Résolu/Fermé]

Signaler
-
 Utilisateur anonyme -
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 ?

11 réponses


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
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 62878 internautes nous ont dit merci ce mois-ci

Messages postés
2565
Date d'inscription
samedi 21 juillet 2007
Statut
Membre
Dernière intervention
30 mai 2015
345
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)
Messages postés
2565
Date d'inscription
samedi 21 juillet 2007
Statut
Membre
Dernière intervention
30 mai 2015
345
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.

@+

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
Messages postés
2565
Date d'inscription
samedi 21 juillet 2007
Statut
Membre
Dernière intervention
30 mai 2015
345
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
@+

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' ');
}
Messages postés
289
Date d'inscription
mardi 31 octobre 2006
Statut
Membre
Dernière intervention
11 juin 2012
42
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."';");

La News elle part pas !
Pourtant sur le papier, sa colle !
Messages postés
2565
Date d'inscription
samedi 21 juillet 2007
Statut
Membre
Dernière intervention
30 mai 2015
345
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
@+

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 :)
( http://fr2.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.