Formulaire d'inscription

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Formulaire d'inscription

Re: Formulaire d'inscription

par or 1 » 03 avr. 2021, 15:11

Je ne comprends pas pourquoi la partie PHP de mon code ne fonctionne pas
trop vague comme description du problème. il faut mettre des echo partout pour identifier plus précisément ce qui bloque.

Formulaire d'inscription

par juljcvd » 03 avr. 2021, 11:44

Bonjour,
Je ne comprends pas pourquoi la partie PHP de mon code ne fonctionne pas donc si quelqu'un peut m'aider
De plus j'aurai également besoin d'aide pour les conditions de caractères pour le nom d'utilisateur et le mot de passe svp (ce sont les deux lignes en commentaire)
Merci d'avance


Code : Tout sélectionner

<?php session_start(); include('../_database/connexionDB.php') if (isset($_SESSION['id'])){ header('Location: ../../index.php'); exit; } if(!empty($_POST)){ extract($_POST); $valid = true; if (isset($_POST['inscription'])){ $nom = htmlentities(trim($nom)); $prenom = htmlentities(trim($prenom)); $nom_utilisateur = htmlentities(trim($nom_utilisateur)); $mail = htmlentities(strtolower(trim($mail))); $confmail = htmlentities(strtolower(trim($confmail))); $mdp = trim($mdp); $confmdp = trim($confmdp); if(empty($nom)){ $valid = false; $er_nom = ("Veuillez saisir un nom"); } if(empty($prenom)){ $valid = false; $er_prenom = ("Veuillez saisir un prénom"); } if(empty($nom_utilisateur)){ $valid = false; $er_nom_utilisateur = ("Veuillez saisir un nom d'utilisateur"); // }elseif(!preg_match("", $nom_utilisateur)){ $valid = false; $er_nom_utilisateur = "Veuillez saisir un nom d'utilisateur valide"; }else{ $req_nom_utilisateur = $DB->query("SELECT nom_utilisateur FROM utilisateur WHERE nom_utilisateur = ?", array($nom_utilisateur)); $req_nom_utilisateur = $req_nom_utilisateur->fetch(); if ($req_nom_utilisateur['nom_utilisateur'] <> ""){ $valid = false; $er_nom_utilisateur = "Ce nom d'utilisateur est déjà utilisé pour un autre compte"; } } if(empty($mail)){ $valid = false; $er_mail = "Veuillez saisir une adresse e-mail"; }elseif(!preg_match("/^[a-z0-9\-_.]+@[a-z]+\.[a-z]{2,3}$/i", $mail)){ $valid = false; $er_mail = "Veuillez saisir une adresse e-mail valide"; }elseif($mail != $confmail){ $valid = false; $er_mail = "Vos adresses e-mail ne correspondent pas"; }else{ $req_mail = $DB->query("SELECT mail FROM utilisateur WHERE mail = ?", array($mail)); $req_mail = $req_mail->fetch(); if ($req_mail['mail'] <> ""){ $valid = false; $er_mail = "Cette adresse e-mail est déjà utilisée pour un autre compte"; } } if(empty($mdp)){ $valid = false; $er_mdp = "Veuillez saisir un mot de passe"; // }elseif(!preg_match("", $mdp)){ $valid = false; $er_mdp = "Veuillez saisir un mot de passe valide"; }elseif($mdp != $confmdp){ $valid = false; $er_mdp = "Vos mots de passe ne correspondent pas"; } } if($valid){ $mdp = crypt($mdp, "$6$rounds=5000$macleapersonnaliseretagardersecret$"); $token = bin2hex(random_bytes(12)); $DB->insert("INSERT INTO utilisateur (nom, prenom, nom_utilisateur, mail, mdp) VALUES (?, ?, ?, ?, ?)", array($nom, $prenom, $nom_utilisateur, $mail, $mdp)); $req = $DB->query("SELECT *  FROM utilisateur WHERE mail = ?", array($mail)); $req = $req->fetch(); $mail_to = $req['mail']; $header = "From: no-reply <[email protected]>\n"; $header .= "MIME-version: 1.0\n"; $header .= "Content-type: text/html; charset=utf-8\n"; $header .= "Content-Transfer-ncoding: 8bit"; $contenu = '<p>Bonjour ' . $req['nom'] . ',</p><br>  <p>Veuillez confirmer votre compte <a href="http://www.recettes-boyer.000webhostapp.com/pages/_espaces_membre/confirmation.php?id=' . $req['id'] . '&token=' . $token . '">Valider</a><p>'; mail($mail_to, 'Confirmation de votre compte', $contenu, $header); header('Location: ../../index.php'); exit; } } } ?> <!DOCTYPE html> <html> <head> <meta charset ="UTF-8"/> <link rel="stylesheet" type="text/css" href="../../css/css.css"/> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.css"/> <title>Inscription</title> </head> <body> <header> <?php include("../_includes/header.php"); ?> </header> <h3>Inscription</h3> <form method="post"> <?php if (isset($er_nom)){ echo $er_nom; }?> <input type="text" placeholder="Votre nom" name="nom" value="<?php if(isset($nom)){ echo $nom; }?>" required> <?php if (isset($er_prenom)){ echo $er_prenom; }?> <input type="text" placeholder="Votre prénom" name="prenom" value="<?php if(isset($prenom)){ echo $prenom; }?>" required> <?php if (isset($er_nom_utilisateur)){ echo $er_nom_utilisateur; }?> <input type="text" placeholder="Votre nom d'utilisateur" name="nom_utilisateur" value="<?php if(isset($nom_utilisateur)){ echo $nom_utilisateur; }?>" required> <?php if (isset($er_mail)){ echo $er_mail; }?> <input type="email" placeholder="Adresse e-mail" name="mail" value="<?php if(isset($mail)){ echo $mail; }?>" required> <input type="email" placeholder="Confirmer l'adresse e-mail" name="confmail" required> <?php if (isset($er_mdp)){ echo $er_mdp; }?> <input type="password" placeholder="Mot de passe" name="mdp" value="<?php if(isset($mdp)){ echo $mdp; }?>" required> <input type="password" placeholder="Confirmer le mot de passe" name="confmdp" required> <button type="submit" name="inscription">S'inscrire</button> </form> <footer> <?php include("../_includes/footer.php"); ?> </footer> </body> </html>