AlexMarie007
Messages postés20Date d'inscriptionvendredi 15 mai 2015StatutMembreDernière intervention22 décembre 2015
-
19 oct. 2015 à 12:01
jordane45
Messages postés37871Date d'inscriptionmercredi 22 octobre 2003StatutModérateurDernière intervention10 décembre 2023
-
22 déc. 2015 à 12:29
Bonjour à tous, je voudrais que vous regardiez ces codes afin de me reveler d'où est l'erreur. Mon code est juste cad ne contient pas de bug mais quand je vérifie dans la base il n'y pas d'enregistrements qui est effectué, je ne comprends pas pourquoi.
Quelqu'un peut-il m'aider?
Voici les codes:
pdoconnexion.php
<?php
// Mon premier en programmation orientee objet // Parametre de connexion a la bd
// Cette fonction pour permettra de controler les champs comme pseudo, mot de passe... public function Verification(){
if(strlen($this->pseudo_membres) > 7 and strlen($this->pseudo_membres) < 20){ // Continue si le pseudo est bon
$syntaxe = '#^[\w.-]+@[\w.-]+\.[a-zA-Z0-9]{2,6}$#'; if(preg_match($syntaxe,$this->email_professionnel)){ // Continue si l'email est bon
if($this->pass_membres == $this->motdepasse){ // Continue si les mot de passe sont identiques } else { $erreur ='Les mots de passe doivent ètre identiques.'; return $erreur; } //////////////////////////// } else { $erreur = 'La syntaxe est mauvaise.'; return $erreur; } ////////////////// } else { $erreur ='Le pseudo doit contenir entre 7 á 20 caractères.'; return $erreur; } }
// Cette fonction permettra les enregistrements dans la bd
public function Enregistrer(){
// Preparation de requete $stmt = $this->bdd->prepare("INSERT INTO membres(pseudo_membres,email_professionnel,pass_membres) VALUES(:pseudo_membres,:email_professionnel,:pass_membres,:date_inscription='.date(Y-m-d H:i:s ).'");
// execution de la requette $stmt->execute(array( 'pseudo_membres' => $this->pseudo_membres, 'email_professionnel' => $this->email_professionnel, 'pass_membres' => $this->pass_membres )); return 1; } }
// ---- VERIFCATION DES PARAMETRES ----// if(isset($_POST) and isset($_POST['pseudo_membres']) and isset($_POST['email_professionnel']) and isset($_POST['pass_membres']) and isset($_POST['motdepasse'])){
// ---- INSTANCIATION DE LA CLASSE ----// $souscrire = new Souscription($_POST['pseudo_membres'], $_POST['email_professionnel'], $_POST['pass_membres'], $_POST['motdepasse']);
// ---- RECUPERATION DE FONCTION ----// $control = $souscrire->Verification();
if($control == 'OK'){ // ---TOUT EST BON---// if($souscrire->Enregistrer()){ echo 'Tout est bon'; header('Location:accuse_reception.php'); } else{ echo 'L\'inscription a échouée'; } } else{
<body style="background: url('../static/images/background.gif') center top no-repeat;"> <div id="body" ><br/> <?php include_once('../conf/header2.php'); ?> <!--CETTE PARTIE DU CODE PERMET L'AFFICHAGE DES INFOS DE LA CNPS--> <div id="cadre-horizon">
<!--CETTE INCLUSION PERMET L'AFFICHAGE DES DIV CONTENANT --> <?php include_once('../conf/inclusion2.php'); ?>
</td> <td width="9%"> <input type="submit" name="envoyer" value="S´I N S C R I R E" class="bouton"> <input type="hidden" name="verif-ajout"> <?php if(isset($return)){ echo $return; } ?> </td> </tr> </table> </form> </fieldset> </div> <br> <hr style="width: 450px;"> <p style="text-align: justify; font-size: 13px; width: 430px;" class="text"> Cette inscription vous permet d´être membre de cette équipe. Dès que vous cliquez sur le bouton S´INSCRIRE, automatiquement vous recevrez un email pour valider votre inscription. En validant cette inscription depuis votre compte, vous acceptez les <a href="" style="text-decoration: none">Conditions générales</a> de cette application. </p> <hr style="width: 450px;"> </div> <br/> </div> </center> </div> </body>
</html>
A voir également:
Mon code est correct mais l'enregistrement n'est pas effectué
// Cette fonction pour permettra de controler les champs comme pseudo, mot de passe... public function Verification(){
if(strlen($this->pseudo_membres) > 7 and strlen($this->pseudo_membres) < 20){ // Continue si le pseudo est bon
$syntaxe = '#^[\w.-]+@[\w.-]+\.[a-zA-Z0-9]{2,6}$#'; if(preg_match($syntaxe,$this->email_professionnel)){ // Continue si l'email est bon
if($this->pass_membres == $this->motdepasse){ // Continue si les mot de passe sont identiques } else { $erreur ='Les mots de passe doivent ètre identiques.'; return $erreur; } //////////////////////////// } else { $erreur = 'La syntaxe est mauvaise.'; return $erreur; } ////////////////// } else { $erreur ='Le pseudo doit contenir entre 7 á 20 caractères.'; return $erreur; } }
// Cette fonction permettra les enregistrements dans la bd
public function Enregistrer(){
// Preparation de requete $stmt = $this->bdd->prepare("INSERT INTO membres(pseudo_membres,email_professionnel,pass_membres) VALUES(:pseudo_membres,:email_professionnel,:pass_membres,:date_inscription");
jordane45
Messages postés37871Date d'inscriptionmercredi 22 octobre 2003StatutModérateurDernière intervention10 décembre 2023343 Modifié par jordane45 le 22/12/2015 à 12:29
Bonjour,
Si ton souci se trouve au niveau de cette fonction
public function Enregistrer(){
// Preparation de requete
$stmt = $this->bdd->prepare("INSERT INTO membres(pseudo_membres,email_professionnel,pass_membres) VALUES(:pseudo_membres,:email_professionnel,:pass_membres,:date_inscription");
// execution de la requette
$stmt->execute(array(
'pseudo_membres' => $this->pseudo_membres,
'email_professionnel' => $this->email_professionnel,
'pass_membres' => $this->pass_membres,
'date_inscription'=>this->dateins
));
return OK;
}
}
... commence par y mettre un bloc TRY/CATCH
Tu verras alors... que ta requête n'est pas bonne.....
Tu ne passes pas le même nombre de "VALUES" que de champ dans lesquels tu veux y faire l'insertion....
Sans parler de la parenthèse fermante manquante ...
Cela se voit encore mieux si tu prends la peine de faire des retours à la ligne sur ta requête :
INSERT INTO membres
(pseudo_membres
,email_professionnel
,pass_membres
) VALUES(
:pseudo_membres
,:email_professionnel
,:pass_membres
,:date_inscription