Problème de mise à jour de la BDD (UPDATE)

X_TrOjKa_X Messages postés 6 Statut Membre -  
X_TrOjKa_X Messages postés 6 Statut Membre -
Bonjour tout le monde !

Je suis un jeune programmeur de site web (17 ans ^^) encore en formation dans une école professionnelle... Bref

Je suis entrain de réaliser le site web de mon club de foot et j'en suis à la partie "Administration" et ça fait 3h que j'essaie de mettre à jour un article...

En gros je peux un ajouter un, supprimer un mais il y a une erreur pour la modification

Un grand merci si vous pouvez m'aider :D

Voilà mon code qui foire ;) https://hastebin.com/gaxayahufo.xml
A voir également:

4 réponses

vordano Messages postés 1981 Statut Membre 316
 
salut,

quel est le message d'erreur ?

et pourquoi la variable $go est utilisé dans un test alors que sa valeur ne dépend apparament pas des autres du dessus ?
as tu vérifié la valeur de la variable $news_id grâce à un echo ?
0
X_TrOjKa_X Messages postés 6 Statut Membre
 
Ah oui j'ai oublier de le dire...
Alors oui l'identifiant est bien reçu j'ai tester avec un echo, mais une fois que j'envoie le formulaire, il m'affiche "l'identifiant n'a pas été reçu" (ligne 67)
Et si j'enlève cette partie de code, sa affiche "aucune adresse mail n'a été mise à jour" apres l'envoi du formulaire (Oui j'ai oublier de modifier adresse mail et news)

Pour la variable $go, elle sert à afficher le formulaire si elle est null, donc si le formulaire n'a pas été envoyé le if est faux...
0
A.Nonymous
 
L'une des valeurs saisies contiendrait-elle une apostrophe ?

Si oui, merci de lire => http://php.net/mysql_real_escape_string
0
X_TrOjKa_X Messages postés 6 Statut Membre
 
Oui très certainement vu que c'est des textes assez long...

Je ne suis pas très alaise en anglais et je ne suis pas une bête en php alors les subtilité je connais pas trop :(

Mais en résumer quelle serait l'erreur ?
0
A.Nonymous
 
INSERT INTO ma_table VALUES( 'ceci est un texte sans apostrophe', 'l'apostrophe peut causer des erreurs si on ne fait pas attention' ); => KO

Une apostrophe est aussi le caractère qui délimite une chaîne. Le SQL devient donc invalide.

INSERT INTO ma_table VALUES( 'ceci est un texte sans apostrophe', 'l\'apostrophe peut causer des erreurs si on ne fait pas attention' ); => OK, car \'
0
X_TrOjKa_X Messages postés 6 Statut Membre
 
Ah oui ok, mais je ne vais pas demander à l'utilisateur d'écrire avec des \ devant les apostrophe... Comment faire alors ?

(je vien de tester:) Oui super sa fonctionne si je met juste un mot !! MERCI :D maintenant reste plus qu'à trouvé une solution pour que l'utilisateur puisse mettre un texte relativement long :)
0
vordano Messages postés 1981 Statut Membre 316
 
je crois que la méthode a utiliser pour encoder les ' c'est rawurlencode pour le php et encodeURIComponent pour le javascript
0
X_TrOjKa_X Messages postés 6 Statut Membre
 
Je vais voir ça alors, mais je sais d'ou vient l'erreur c'est deja sa ! Merci :)
0
A.Nonymous
 
$texte = mysql_real_escape_string( $texte );
$titre = mysql_real_escape_string( $titre );
[...]
$sql = "UPDATE 'fc-bavois'.'news' SET 'titre' = '$titre', 'contenu' = '$texte', 'by' = '$auteur', 'date' = '$date', 'image' = '$image' WHERE id = $news_id";
0