Commentaire(s) Modifications et enregistrements des données
Commentaire(s)
- #38 Commentaire de dan4 posté le 25/04/10 à 06:34:55 :

-
J'ai suivi ce tutorial avec succès. Deux points selon ce que j'ai appris.
$lechamp0 = mysql_real_escape_string(htmlspecialchars(stripcslashes
($_POST["pseudo"])));la fonction mysql_real_escape_string s'applique lorsque l'ont fait une commande sur une requête et pour l'affichage sont htmlspecialchars et stripcslashes selon les tutorial que j'ai suivi et lu sur le site developpez. Peut-être préciser ce qui serait le mieux de faire et pourquoi.
Lorsqu'on va directement sur modifier.php et supprimer.php sans passer par le formulaire un message d'erreur qui nous dit : Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource... et quand c'est sur supprimer.php ça nous dit : Requête invalide : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1.
Surement qu'il y a moyen d'empêcher l'accès aux deux fichiers sans avoir préallablement rempli le formulaire?
Peut-être aussi pour le premier paragraphe expliquer quand et à quel endroit placer les sécurités. Ça m'intéresse de le savoir.
Pour ce qui est du tutorial, je l'apprécie beaucoup et je vais m'en inspirer pour l'ensemble de mes travaux. Merci pour la générosité du site.
- #39 Commentaire de c00lman posté le 25/04/10 à 11:26:28 :

-
Bonjour dan4,
Concernant mysql_real_escape_string , htmlspecialchars et stripcslashes, les explications se trouvent dans un des tutoriels précédent et notamment Vérifications et enregistrements des données.stripcslashes()
Lorsque vous postez une phrase comportant des apostrophes, votre serveur va automatiquement ajouter ce que l'on appelle un antislashs (\) devant chaque apostrophe. Ainsi la phrase : " L'arbre à l'ombre de la citadelle." va s'afficher : "L\'arbre à l\'ombre de la citadelle.". La fonction stripcslashes() permet donc de supprimer tous les antislashs de notre chaîne.
htmlspecialchars()
Vous n'êtes pas à l'abri qu'un petit malin tente d'introduire du code XHTML ou pire, du Javascript dans votre base de données et ainsi détourne celui-ci à des fin personnelle. htmlspecialchars() permet donc d'éviter que les données fournies par les utilisateurs contiennent des balises XHTML en transformant celles-ci par des entités HTML.
mysql_real_escape_string()
mysql_real_escape_string() doit toujours être utilisée pour protéger vos données avant d'envoyer une requête à MySQL. mysql_real_escape_string() sert principalement à protéger les données récupérées depuis un formulaire avant de les entrer dans la BDD et donc d'éviter les attaques par injection MYSQL.
Concernant les erreurs rencontré sur le fichier modifier.php et supprimer.php, c'est normal car aucun identifiant n'ai transmit dans les 2 cas puisque que vous supprimez la partie "?id=*". Dans les 2 cas de figures il est inutile d'effectuer un contrôle sur ces pages puisque seul l'administrateur est le seul à y avoir accès (sous réserve d'avoir protégé cette partie). Je vous rappel que ce tutoriel est juste une Initiation aux requêtes SQL avec PHP et non un système de commentaires parfait et prêt à l'emploi

- #46 Commentaire de hiba posté le 12/05/10 à 22:38:58 :

-
bonsoir,
tout d'abord merci beaucoup pour ce tuto très clair et c explications qui m'ont bp aidé, g suivi le tuto depuis le début: et j'ai réussi a :- créer un formulaire.( nom, prénom,age)
- insérer ces données via le formulaire dans ma base de données
serveur local: wamp
version du serveur 5.1.36
version de php: 5.3.0
puis afficher dans un tableau: les composant de ma table
mais g encore quelques soucis au niveau de la modification de mon formulaire
dans mon tableau j'ai créer un lien qui envoie vers une page modifier.php
et g suivi le tuto a la lettre en remplaçant les valeurs des variables par mes valeurs
mais mon formulaire ne s'affiche pas et j'obtient les erreurs suivantes :
- Notice:Undefined index: nom in C:\wamp\www\modifier_eleve.php on line 11
qui correspond a ma ligne $nom = $_GET['nom']; et
- warning : mysql_fetch_array() expects parametr 1 to be resource, boolean given in C:\wamp\www\modifier_eleve.php on line 16
j'espère vraiment que quelqu'un pourra m'aider :( je galère depuis le matin :( et mercii
- #49 Commentaire de c00lman posté le 14/05/10 à 11:35:59 :

-
- Notice:Undefined index: nom in C:\wamp\www\modifier_eleve.php on line 11
$nom = $_GET['nom'] -> soit le nom dans le formulaire n'est pas "nom", soit le formulaire n'a rien envoyé en méthode GET.
Pour ton second problème, je n'en sais rien.




