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

Petit nouveau ! | 3 Messages

26 juin 2012, 17:55

Bonjour tout le monde ! :D

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 ;) http://hastebin.com/gaxayahufo.xml

Les erreurs: :evil:

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 (ligne 79)
(Oui j'ai oublier de modifier adresse mail et news :mrgreen: )

ViPHP
ViPHP | 2577 Messages

27 juin 2012, 10:55

Manifestement, la variable $news_id n'est pas renseignée.
Il faudrait vérifié $_REQUEST['id'] qui est à l'origine de cette variable.
var_dump($_REQUEST) peut te montrer de contenu de cette variable.

Tu pourrais également vérifier le contenu du formulaire pour voir si id est alimenté dans le formulaire. Soit dans le code action soit via un input.

Petit nouveau ! | 3 Messages

27 juin 2012, 12:28

Alors oui la variable fonctionne bien car j'ai fait d'autres test et l'erreur en fait vien que je ne peut pas insérer une phrase avec des apostrophes ou cartatère spéciaux avec une requete UPDATE... Je ne sais pas trop comment résoudre ce problème

ViPHP
ViPHP | 2577 Messages

27 juin 2012, 15:54

la fonction mysql_escape_string(http://fr.php.net/manual/fr/function.my ... string.php) te permet de passer outre ce problème en transformant la chaine de caractères.

Mais si le message t'indique que l'$news_id est vide, j'ai du mal à croire qu'il ne le soit pas.

Petit nouveau ! | 3 Messages

27 juin 2012, 18:38

C'est bon fallait juste rajouter deux ligne avec mysql_real_escape_string :D

$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";