Inscription

Fermé
Asmaeab Messages postés 6 Date d'inscription vendredi 2 juin 2017 Statut Membre Dernière intervention 21 juin 2017 - Modifié le 2 juin 2017 à 23:37
Felice_ Messages postés 265 Date d'inscription mardi 25 avril 2017 Statut Membre Dernière intervention 20 juillet 2017 - 5 juin 2017 à 01:34
Salut,
J'ai un problème avec mon code
<?php
try
{
$db = new PDO('mysql:host=localhost;dbname=test', 'root', '');
}
catch (Exception $e)
{
        die('Erreur : ' . $e->getMessage());
}
?>


<?php
 //On est dans le cas traitement
    $mail_erreur1 = NULL;
    $mail_erreur2 = NULL;
    $pwd_erreur = NULL;
    $dateCreation_erreur1 = NULL;
    $dateCreation_erreur2 = NULL;
    $nom_erreur = NULL; 

    //On récupère les variables
    $i = 0; 
    $mail=$_POST['mail'];
    $nom = $_POST['nom'];
    $dateCreation = $_POST['dateCreation'];
    $pwd = $_POST['pwd'];
    $confirm = $_POST['confirm'];

//Vérification du pseudo
    $query=$db->prepare('SELECT COUNT(*) AS nbr FROM clients WHERE nom =:nom');
    $query->bindValue(':nom',$nom, PDO::PARAM_STR);
    $query->execute();
    $name_free=($query->fetchColumn()==0)?1:0;
    $query->CloseCursor();
    if(!$name_free)
    {
        $name_erreur1 = "Votre pseudo est déjà utilisé par un membre";
        $i++;
    }
    
 
//Il faut que l'adresse email n'ait jamais été utilisée
    $query=$db->prepare('SELECT COUNT(*) AS nbr FROM clients WHERE mail =:mail');
    $query->bindValue(':mail',$mail, PDO::PARAM_STR);
    $query->execute();
    $mail_free=($query->fetchColumn()==0)?1:0;
    $query->CloseCursor();

    if(!$mail_free)
    {
        $email_erreur1 = "Votre adresse email est déjà utilisée par un membre";
        $i++;
    }
    //On vérifie la forme maintenant
    if (!preg_match("#^[a-zA-Z0-9._-]+@[a-zA-Z0-9._-]{2,}\.[a-z]{2,4}$#", $mail) || empty($mail))
    {
        $mail_erreur2 = "Votre adresse E-Mail n'a pas un format valide";
        $i++;
    }

if ($pwd != $confirm || empty($confirm) || empty($pass))
    {
        $mdp_erreur = "Votre mot de passe et votre confirmation diffèrent, ou sont vides";
        $i++;
    }
?>
<?php
    if($i==0){
    
        $query=$db->prepare('INSERT INTO clients (nom, mail, pwd)
        VALUES (:nom, :mail, :pwd)');
    $query->bindValue(':nom', $name, PDO::PARAM_STR);
    $query->bindValue(':mail', $mail, PDO::PARAM_INT);
    $query->bindValue(':pwd', $pwd, PDO::PARAM_INT);

   
        $query->execute();

    

}
echo'Inscription terminée';
?>


Je n'ai que l'inscription terminée qui s'affiche
les données ne s'ajoute pas à la base
et si je remplis mes données d une maniere fausse par exemple si l email que je fais rentrer n a pas la forme d un mail aucun msg d erreur ne s affiche
De l'aide svp

EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI

Merci d'y penser dans tes prochains messages.
A voir également:

3 réponses

Felice_ Messages postés 265 Date d'inscription mardi 25 avril 2017 Statut Membre Dernière intervention 20 juillet 2017 11
3 juin 2017 à 00:03
Tu es que tes lignes :
$query->bindValue(':mail', $mail, PDO::PARAM_INT);
    $query->bindValue(':pwd', $pwd, PDO::PARAM_INT);


Sont juste ? Ce n'est pas plutôt :
$query->bindValue(':mail', $mail, PDO::PARAM_STR);
    $query->bindValue(':pwd', $pwd, PDO::PARAM_STR);


?
0
Asmaeab Messages postés 6 Date d'inscription vendredi 2 juin 2017 Statut Membre Dernière intervention 21 juin 2017
3 juin 2017 à 00:28
Merci pour ta réponse
oui tu as raison
maintenant en corrigeant cette faute, j'obtiens une autre erreur :
Deprecated: mysql_query(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in C:\wamp\www\ProjetAuditCobit\register.php on line 88
Vous voyez ou est t il le probleme ?
0
Felice_ Messages postés 265 Date d'inscription mardi 25 avril 2017 Statut Membre Dernière intervention 20 juillet 2017 11
3 juin 2017 à 00:57
Dans ton fichier register.php à la ligne 88 tu utilises la fonction mysql_query qui est déprécié, il faut que tu remplaces par par PDO ou à la rigueur par mysqli
0
Asmaeab Messages postés 6 Date d'inscription vendredi 2 juin 2017 Statut Membre Dernière intervention 21 juin 2017
Modifié le 4 juin 2017 à 17:41
Me voilà de retour,

j ai modifié mon code
<?php
//<!--Connexion à la BDD-->
$bdd = new PDO ('mysql:host=localhost;dbname=espace_membre', 'root', '');

if(isset($_POST['forminscription']))
{
$nom = htmlspecialchars($_POST['nom']);
$mail= htmlspecialchars($_POST['mail']);
$mdp = sha1($_POST['mdp']);
$mdp2 = sha1($_POST['mdp2']);
$dateCreation=htmlspecialchars($_POST['dateCreation']);

if(!empty($_POST['nom']) AND $_POST['mdp'] AND $_POST['mail'] AND $_POST['mdp2'] AND $_POST['dateCreation'])
{
$nomlenght = strlen($nom);
if($nomlenght <= 255)
{
if(filter_var($mail, FILTER_VALIDATE_EMAIL))
{
$reqmail= $bdd->prepare("SELECT * FROM membre WHERE mail =? ");
$reqmail->execute(array($mail));
$mailexist= $reqmail->rowCount();
if($mailexist == 0)
{
if($mdp== $mdp2)
{
$insertmbr = $bdd->prepare("INSERT INTO membre(nom, mail, motdepasse, dateCreation) VALUES(?,?,?,?)");
$insertmbr-> execute(array($nom, $mail, $mdp, $dateCreation));
$_SESSION['comptecree']= " votre compte a bien été créé";
header("Location: PageAcceuilAudit.php");
}
else
{
$erreur= "vos mots de passe ne correspondent pas!!";
}
}
else
{
$erreur= " Adresse mail déjà utilisée";
}

}
else
{
$erreur= "votre adresse mail n'est pas valide";
}

}
else
{
$erreur= "votre nom ne doit pas dépasser 255 caractères!!";
}

}
else
{
$erreur= "Tous les champs doivent être complétés!!";
}
}

?>

mon problème toujours est que rien ne s'ajoute sur ma pase de données
0
Felice_ Messages postés 265 Date d'inscription mardi 25 avril 2017 Statut Membre Dernière intervention 20 juillet 2017 11
4 juin 2017 à 23:07
En général c'est des erreurs dans les requêtes SQL, tu peux les affichées avec un « echo » et nous les montrer ?
0
Asmaeab Messages postés 6 Date d'inscription vendredi 2 juin 2017 Statut Membre Dernière intervention 21 juin 2017
5 juin 2017 à 01:09
Merci pour tes réponses, mais j'ai finalement résolu le problème. En fait c'était juste des petites erreurs dans le code
0
Felice_ Messages postés 265 Date d'inscription mardi 25 avril 2017 Statut Membre Dernière intervention 20 juillet 2017 11
5 juin 2017 à 01:34
N'hésite pas à donner les petites erreurs ça peut aider d'autres…
0