public function action_verif() { if ($this->req->codeVerif && $this->req->id) { $db = DB::get_instance(); $vm = new VerifManager($db); $verif = $vm->isOk($this->req->id); if (!$verif) { $res = "Votre code n'est pas bon, si vous ne parvenez pas a activer votre compte même après avoir vérifié celui-ci contactez le support. (support AT loca-rent DOT fr) Remplez AT par '@' et DOT par '.'. "; } else { if ($verif->getCodeVerif() == $this->req->codeVerif) { } else { $res = "Votre code n'est pas bon, si vous ne parvenez pas a activer votre compte même après avoir vérifié celui-ci contactez le support. (support AT loca-rent DOT fr) Remplez AT par '@' et DOT par '.'. "; } } } }
public function action_valide() { /** --- Test la conformitude de tous les champs du formulaires coté serveur --- **/ // --- Champs nom --- // if ($this->req->nom == "") { $errors[] = "Le nom n'est pas rempli"; } else { if (!preg_match(self::EMPTY_REG, $this->req->nom)) { $errors[] = "Le nom est mal renseigné"; } } if (strlen($this->req->nom) >= self::NAME_LENGTH) { $errors[] = "La taille du nom doit être inférieur à " . self::NAME_LENGTH . " caractères"; } if (preg_match(self::NUM_REG, $this->req->nom)) { $errors[] = "Le nom ne doit pas contenir de chiffre"; } // --- Champs prénom --- // if ($this->req->prenom == "") { $errors[] = "Le prenom n'est pas rempli"; } else { if (!preg_match(self::EMPTY_REG, $this->req->prenom)) { $errors[] = "Le prénom est mal renseigné"; } } if (strlen($this->req->prenom) >= self::NAME_LENGTH) { $errors[] = "La taille du prénom doit être inférieur à " . self::NAME_LENGTH . " caractères"; } if (preg_match(self::NUM_REG, $this->req->prenom)) { $errors[] = "Le prénom ne doit pas contenir de chiffre"; } // --- Champs rue --- // if (strlen($this->req->rue) >= self::STREET_LENGTH) { $errors[] = "La taille de la rue doit être inférieur à " . self::STREET_LENGTH . " caractères"; } if (!preg_match(self::STREET_REG, $this->req->rue)) { $errors[] = "Le format du champs rue est: Numéro de rue(nombres) nom de la rue(caractères)"; } // --- Champs Code postal --- // if (!preg_match(self::CP_REG1, $this->req->cp) or preg_match(self::CP_REG2, $this->req->cp)) { $errors[] = "Format du code postal incorrect. Contien 5 chiffres de 01000 à 99999"; } // --- Test si mail déja existant --- (mail => login) // $cm = new ClientManager(DB::get_instance()); if ($cm->chercherParMail($this->req->mail)) { $errors[] = "Mail existant"; } if (!filter_var($this->req->mail, FILTER_VALIDATE_EMAIL)) { $errors[] = "Le mail n'est pas conforme"; } // --- Champs mdp ---// if (strlen($this->req->mdp) < self::MIN_MDP) { $errors[] = "Le mot de passe est trop petit"; } else { if (strlen($this->req->mdp) > self::MAX_MDP) { $errors[] = "Le mot de passe est trop grand"; } } // --- Champs confirmation --- // if ($this->req->mdp != $this->req->mdp2) { $errors[] = "La confirmation ne correspond pas au mot de passe"; } // --- Vérification CAPTCHA --- // if ($this->req->hide && $this->req->cap) { $cap = $this->req->hide; $cap = substr($cap, 2, 3); echo var_dump($cap); if ($cap != $this->req->cap) { $errors[] = "Le captcha n'est pas bon"; } } // -- Si on trouve des erreurs on les affiche en haut du formulaire -- // if (isset($errors[0])) { $f = $this->session->formIns; $f->populate(); $this->session->formIns = $f; foreach ($errors as $err) { $this->site->ajouter_message("-" . $err); } Site::redirect("inscription"); } else { $clt['nom'] = $this->req->nom; $clt['prenom'] = $this->req->prenom; $clt['rue'] = $this->req->rue; $clt['codePostal'] = $this->req->cp; $clt['ville'] = $this->req->ville; $clt['vip'] = 0; $clt['dateInscription'] = date('Y-m-d', time() + 7200); //+7200 Pour mettre en GMT+2 $clt['mail'] = $this->req->mail; $clt['mdp'] = $this->req->mdp; $clt['validate'] = 0; $client = new Client($clt); $cm->add($client); $client2 = $cm->connexion($clt['mail'], $clt['mdp']); // On supprime maintenant la variable contenant les entrées de l'utilisateur sur le form inscription. unset($this->session->formIns); // --On envoie le mail avec la vérif-- if ($client2) { $subject = "Loca-Rent : Bienvenue chère client."; $to = $clt['mail']; $code = md5($clt['prenom'] . $clt['nom'] . time()); $vm = new VerifManager(DB::get_instance()); $ver['codeVerif'] = $code; $ver['idClient'] = $client2->getIdClient(); //echo var_dump($client->getIdClient()); $verif = new Verif($ver); $vm->add($verif); $securelink = 'http://localhost/projet_BD-WEB/github_bd_web/?module=inscription&action=verif&id=' . urlencode($client2->getIdClient()) . '&code=' . urlencode($code); $msg = "<h2>LOCA-RENT</h2><br /><p>Bienvenue chez Loca-Rent,</p> pour continuer votre inscription merci de cliquez sur le lien ci-dessus<br /><a href=" . $securelink . ">" . $securelink . "</a>"; // Dans le cas où nos lignes comportent plus de 70 caractères, nous les coupons en utilisant wordwrap() //$msg = wordwrap($msg, 70, "\r\n"); // Pour envoyer un mail HTML, l'en-tête Content-type doit être défini $headers = 'MIME-Version: 1.0' . "\r\n"; $headers .= 'Content-type: text/html; charset=utf-8' . "\r\n"; // En-têtes additionnels $headers .= 'To: ' . $clt['prenom'] . ' ' . $clt['nom'] . ' <' . $clt['mail'] . '>' . "\r\n"; $headers .= 'From: Loca-Rent <*****@*****.**>' . "\r\n"; mail($to, $subject, $msg, $headers); $this->site->ajouter_message("inscription reussie!{$code}"); Site::redirect("index"); } $this->site->ajouter_message("inscription pas reussie!\$"); Site::redirect("index"); } }