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.
- #590 Commentaire de imran posté le 11/01/12 à 23:35:16 :

-
bonjour;
question peut être trés bête mais comment on fait pour "récuperer" l'identifiant (id) transmit par l'url depuis la partie admin pour afficher l'ensemble des données qui lui correspond ?
c'est certainement tout simple mais je galére depuis un joli moment
merci de m'aider
- #593 Commentaire de c00lman posté le 12/01/12 à 08:50:07 :

-
Dans le tutoriel précédent (Création de l'administration), on récupère l'id et pseudo par la requête suivante :
$result = mysql_query("SELECT id, pseudo FROM COMMENTAIRES ORDER BY id ASC");
Ensuite on boucle (boucle while) pour sortir les données dans un tableau :
while($affiche_commentaire = mysql_fetch_array($result)) { ***
Dans la boucle while(), on incorpore aux liens l'identifiant de chaque commentaires grace à la variable $affiche_commentaire["id"].
<td><a href="modifier.php?id='.$affiche_commentaire["id"].'">Modifier</a></td> <td><a href="supprimer.php?id='.$affiche_commentaire["id"].'">Supprimer</a></td>
$affiche_commentaire correspond[] au tableau que sort la boucle while.
id correspond aux identifiants.
Comme l'identifiant est transmit dans l'url,( ?id='.$affiche_commentaire["id"].' ) il faut juste le récupérer et pour ça, on utilise la méthode "GET".
$_GET["id"] correspond à l'identifiant transmit par l'url. Dans le tuto, je place cet identifiant dans une variable $id :
$id = $_GET["id"];
pour ensuite allé chercher les données associées en base de données.




