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]<?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>[/code]