Bonjour à tous,
avant d'aller plus loin dans mon code, j'aurais souhaiter votre avis pour savoir si je démarre bien dans mon code. le résultat fonctionne mais je veux juste savoir si j'ai bien compris la poo et la facon de faire.
j'ai un formulaire de type nom, prenom, date de naissance.
j'utilise une class enfant pour vérifier la saisie utilisateur (par des REGEX). une fois cette vérification faite, je compte utiliser une class enfantManager qui me permettra notamment l'ajout en BDD.
Pourriez vous me dire si je pars sur une bonne base SVP ? Est ce que la vérification de saisie est suffisante pour évier les injections sql (sachant que j'utiliserai PDO et les requêtes préparées pour l'insertion)?
D'avance merci pour votre retour.
l'instanciation de ma class:
la class enfant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 if (isset($_POST['birth'])) { $enfant = new Enfant($_POST['name'],$_POST['surname'],$_POST['birth']); if ($enfant->getError() == true) { echo "Merci de vérifier les informations saisie:<p>".$enfant->getErrorMessage()."</p>"; } else { $enfantManager = new EnfantManager($db); $EnfantManager->addEnfant($enfant->getName(), $enfant->getSurname(),$enfant->getBirth()); } }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74 class Enfant { protected $_name; protected $_surname; protected $_birth; protected $_erreur = false; protected $_erreurMessage =""; public function __construct($name,$surname,$birth) { $this->setName($name); $this->setSurname($surname); $this->setBirth($birth); } public function setError($erreur) { $this->_erreur=$erreur; } public function getError() { return $this->_erreur; } public function getErrorMessage() { return $this->_erreurMessage; } public function getName() { return $this->_name; } public function getSurname() { return $this->_surname; } public function getBirth() { return $this->_birth(); } public function setName($name) { if (preg_match("#^[a-zA-Z]{1,}[a-zA-Z\- '][a-zA-Z]{1,}$#",$name) and strlen($name)>=2 and strlen($name)<=50) { $this->_name=ucfirst(strtolower($name)); } else { $this->_erreur=true; $this->_erreurMessage.="Prénom invalide.<br />"; } } public function setSurname($surname) { if (preg_match("#^[a-zA-Z]{1,}[a-zA-Z\- '][a-zA-Z]{1,}$#",$surname) and strlen($surname)>=2 and strlen($surname)<=50) { $this->_surname= strtoupper($surname); } else { $this->_erreur=true; $this->_erreurMessage.="Nom de famille invalide.<br />"; } } public function setBirth($birth) { if (!empty($birth)) { if (preg_match("#^(20|19)[0-9]{2}(-|/)((0[1-9]){1}|(1[0-2]){1})(-|/)((0[1-9]){1}|(1[0-9]){1}|(2[0-9]){1}|(3[0-1]){1})$#",$birth)) { $this->_birth=$birth; } else { $this->_erreur=true; $this->_erreurMessage.="Date de naissance invalide."; } } else { $this->_erreur=true; $this->_erreurMessage.="Date de naissance vide."; } } }
Partager