Bonjour à tous, comme beaucoup le savent je suis un peu naze en dev mais j'ai enfin pris le pas de me mettre à la POO. Donc j'ai commencé une classe, à savoir que ce n'est pas une question de débogage, le script est simplement destiné à comprendre la logique derrière la POO en PHP, ainsi y'a sûrement des erreurs de syntaxe j'ai fait ça sous bloc notes. Ma question tourne donc autour de la méthode vu que je sais bien que j'ai probablement fait des erreurs phénoménales
Dans les faits j'ai lu à droite et à gauche pas mal de tutos, mais qui au final ne donnent pas vraiment d'idées de l'approche qu'il faut avoir pour développer en POO, oui au jour d'aujourd'hui je sais faire une classe voiture et instancier des objets, mais de là à faire un site je suis pas convaincu que j'ai compri les mécanismes.
Bon très de bavardages inutiles, voici ce que j'ai commencé à faire.
Une classe membre, donc au niveau de l'organisation, un array est transmis au constructeur depuis le formulaire d'inscription ou de connexion, j'ai ensuite ces deux fonctions qui sont "sensées" faire ce qu'il y a à faire.
Dans les faits j'ai lu à droite et à gauche pas mal de tutos, mais qui au final ne donnent pas vraiment d'idées de l'approche qu'il faut avoir pour développer en POO, oui au jour d'aujourd'hui je sais faire une classe voiture et instancier des objets, mais de là à faire un site je suis pas convaincu que j'ai compri les mécanismes.
Bon très de bavardages inutiles, voici ce que j'ai commencé à faire.
Une classe membre, donc au niveau de l'organisation, un array est transmis au constructeur depuis le formulaire d'inscription ou de connexion, j'ai ensuite ces deux fonctions qui sont "sensées" faire ce qu'il y a à faire.
class membre {
public $idMembre;
public $pseudoMembre;
public $mdpMembre;
public $mdpConfirm;
public $emailMembre;
public function __construct ($arrayMembre) {
$this->idMembre = $arrayMembre['idMembre'];
$this->pseudoMembre = $arrayMembre['pseudoMembre'];
$this->mdpMembre = $arrayMembre['mdpMembre'];
$this->emailMembre = $arrayMembre['emailMembre'];
$this->mdpConfirm = $arrayMembre['mdpConfirm'];
}
public function inscription() {
$pseudoCheck = "SELECT COUNT(*) AS nbr FROM membres WHERE pseudo = '".$pseudoMembre."'";
$pseudoCheck2 = $bdd->query($pseudoCheck);
$pseudoCheck3 = $pseudoCheck2->fetch();
if(!($pseudoCheck3['nbr'] == 0))
{
$erreur="Ce pseudo est déjà utilisé !";
}
if($this->$mdp != $this->mdpConfirm)
{
$erreur = "Les champs de confirmation ne correspondent pas.";
}
if(!filter_var($emailMembre, FILTER_VALIDATE_EMAIL))
{
$erreur = "Le format de votre adresse E-Mail n'est pas valide.";
}
if(isset($erreur))
{
echo $erreur;
}
else
{
$db_insert = "INSERT INTO membres (id, pseudo, mdp, email) VALUES ('','".$pseudoMembre."', '".$mdpMembre."', '".$emailMembre."')";
$statement = $bdd->exec($db_insert);
echo "Vous etes désormais inscri";
}
}
public function connexion() {
$pseudoCheck = "SELECT COUNT(*) AS nbr FROM membres WHERE pseudo = '".$pseudoMembre."'";
$pseudoCheck2 = $bdd->query($pseudoCheck);
$pseudoCheck3 = $pseudoCheck2->fetch();
if($pseudoCheck3['nbr'] == 0)
{
$erreur="Ce membre n'existe pas !";
}
else
{
$login_sql = "SELECT mdp, id FROM membres WHERE pseudo='$pseudoMembre'";
$login_req = $bdd->query($login_sql);
$login_data = $login_req->fetch();
$id = $login_data['id'];
$mdpBDD = $login_data['mdp'];
if ($mdpMembre != $mdpBDD)
{
$erreur = "Le mot de passe ne correspond pas à celui enregistré !"
}
if (isset($erreur))
{
echo $erreur;
}
else
{
$this->idMembre = $login_data['id'];
session_start();
$_SESSION['id'] = $this->idMembre;
}
}
}
}