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

Résolu
Utilisateur anonyme -  
 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 ?
A voir également:

10 réponses

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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
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
Utilisateur anonyme
 
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
Yorundr Messages postés 289 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
Utilisateur anonyme
 
La News elle part pas !
Pourtant sur le papier, sa colle !
0
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
Utilisateur anonyme
 
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