Impossible d'effectuer des enregistrements dans la bd [Résolu]

AlexMarie007 20 Messages postés vendredi 15 mai 2015Date d'inscription 22 décembre 2015 Dernière intervention - 2 déc. 2015 à 12:42 - Dernière réponse : jordane45 21110 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 22 mai 2018 Dernière intervention
- 2 déc. 2015 à 18:49
Bonjour a tous, je voudrais que vous jetez un regard sur ces codes. au fait, j'ai conçu une application dans laquelle, une possibilité de se loguer avec son pseudo et mot de passe, le serieux souci est qu'en passant tous ces paramètres la connexion n'est pas établie or les éléments(pseudo et mdp) sont bien présents dans la bd.

Voici les codes:

login.php


<?php

session_start();
// ---- INCLUSIONS ---- //
$bdd = new PDO('mysql:host=localhost;dbname=gestionalertes','root','Geth@lex/007');
include_once('fonction/souscription.class.php');

// INCLUSION DE LA BASE DE DONNEES
$bdd = bdd();

// ---- 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 Inscription($_POST['pseudo_membres'],
$_POST['email_professionnel'], $_POST['pass_membres'],
$_POST['motdepasse']);

// ---- RECUPERATION DE FONCTION ----//
$control = $souscrire->Verification();

if($control == 'OK'){ // ---TOUT EST BON---//

$enreg = $souscrire->Enregistrer();

if($enreg == 'Enregistrée'){

//echo 'Parfait enregistrement';
header('Location:accuse_reception.php');
}
else{
echo 'L\'inscription a échouée';
}
}
else{

$erreur = $control;
}
}

?>

<!DOCTYPE HTML>

<html>

<head>
<title>INSCRIPTION</title>
<link type="text/css" rel="stylesheet" href="../static/css/designer.css">
<link rel="Shortcut Icon" type="image/x-icon" href="../static/images/favicon.ico">
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
</head>

<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'); ?>

</div><br/> 
<center>
    
<div id="aff-contenu" class="posts">
<br/>
<div class="connect">   

<div class="connect1" >
     
<fieldset id="fieldset" >
<legend>
<strong>
Formulaire d´inscription
</strong>
</legend>
<br/><br/><br/><br/>
<form method="post" name="" id="">

<table width="100%" cellpadding="2" cellspacing="3" class="text" border="0">

<tr width="25%">
<td align="right" width="3,50%">
<label for="pseudo_membres"><strong>Pseudo </strong></label>
</td>
<td width="9%">
<input type="text" name="pseudo_membres" title="Nom utilisateur..." required="required" size="25">
</td>
</tr>
<tr width="25%">
<td align="right" width="3,50%">
<label for="email_professionnel"><strong>Email prof. </strong></label>
</td>
<td width="9%">
<input type="text" name="email_professionnel" title="Email professionnelle..." required="required" size="25">
</td>
</tr>

<tr width="25%">
<td align="right" width="3,50%">
<label for="pass_membres"><strong>Mot de passe</strong></label>
</td>
<td width="9%">
<input type="password" name="pass_membres" title="Votre mot de passe..." required="required" size="25">
</td>
</tr>

<tr width="25%">
<td align="right" width="3,50%">
<label for="motdepasse"><strong>Confirmation </strong></label>
</td>
<td width="9%">
<input type="password" name="motdepasse" title="Confirmez votre mot de passe..." required="required" size="25">
</td>
</tr>
<tr width="25%">
<td align="right" width="3,50%">
 
</td>
<td width="9%">
 
</td>
</tr>
<tr width="25%">
<td align="right" width="3,50%">
 
</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">
<span style="color: red;"><?php
if(isset($erreur)){
echo $erreur;
}
?>
</span>
</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>




inscription.class.php



<?php

class Inscription{

private $pseudo_membres;
private $email_professionnel;
private $pass_membres;
private $motdepasse;
private $bdd;

public function __construct($pseudo_membres, $email_professionnel, $pass_membres,$motdepasse){

$nomuser = htmlentities($pseudo_membres);
$adresmail = htmlentities($email_professionnel);
$password = htmlentities(sha1($pass_membres));
$motpasse = htmlentities($motdepasse);

$this->pseudo_membres = $nomuser;
$this->email_professionnel = $adresmail;
$this->pass_membres = $password;
$this->motdepasse = $motpasse;
$this->bdd = bdd();

}

// 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 de l\'adresse 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(){
// COnnexion a la base
$bdd = new PDO('mysql:host=localhost;dbname=gestionalertes','root','Geth@lex/007');
// Preparation de requete

$stmt = $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 'Enregistrée';

}

}

Afficher la suite 

Votre réponse

5 réponses

jordane45 21110 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 22 mai 2018 Dernière intervention - 2 déc. 2015 à 13:29
0
Utile
Bonjour,

A quel moment interroges tu ta BDD pour comparer avec les infos qui y sont stockées ?
Il y a bien une requête INSERT (pour l'enregistrement d'un user en BDD ).. mais... qu'as tu fais de la requête SELECT ? )
Commenter la réponse de jordane45
NHenry 14178 Messages postés vendredi 14 mars 2003Date d'inscriptionModérateurStatut 21 mai 2018 Dernière intervention - 2 déc. 2015 à 13:37
0
Utile
Dans ta requête INSERT :
membres('pseudo_membres

Il y a pas un ' en trop ?
jordane45 21110 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 22 mai 2018 Dernière intervention - 2 déc. 2015 à 13:54
Il n'y a pas de ' en trop ... il y a des " en moins au contraire.
Sans oublier une parenthèse et un paramètre en moins... ...

voici le code corrigé :
$sql = "INSERT INTO membres
                   (pseudo_membres
                   ,email_professionnel
                   ,pass_membres
                   ,date_inscription) 
             VALUES(:pseudo_membres
                   ,:email_professionnel
                   ,:pass_membres
                   ,:date_inscription='".date(Y-m-d H:i:s )."' )";
 $stmt = $bdd->prepare($sql);
NHenry 14178 Messages postés vendredi 14 mars 2003Date d'inscriptionModérateurStatut 21 mai 2018 Dernière intervention - 2 déc. 2015 à 18:35
C'est quoi aussi de ' avant pseudo_membres, ça peut perturber SQL ça.
jordane45 21110 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 22 mai 2018 Dernière intervention > NHenry 14178 Messages postés vendredi 14 mars 2003Date d'inscriptionModérateurStatut 21 mai 2018 Dernière intervention - 2 déc. 2015 à 18:49
oui un loupé.
Corrigé dans mon code.
:-)
Commenter la réponse de NHenry

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.