PHP

L'envoi ne se fait pas dans la BDD

Non Résolu

Bonjour je suis actuellement entrain de suivre la formation pour le formulaire d'inscription hors je rencontre un probleme j'ai suivi le tuto mais rien ne s'envoi dans la BDD j'ai beau lire et relires je ne trouve pas l'erreur si défoit quelqu'un pourrait m'aider : Merci ! :)


session_start();
include('config.php');


if(!empty($_POST)){
  extract($_POST);
  
  $valid = (boolean) true;


  if(isset($_POST['inscription'])){
    $pseudo = trim($pseudo);
    $mail = trim($mail);
    $confmail = trim($confmail);
    $password = trim($password);
    $confpassword = trim($confpassword);


    if(empty($pseudo)){
        $valid = false;
        $err_pseudo = "ce champ ne peut etre vide";
    }else{
      $req = $DB->prepare("SELECT id
      FROM utilisateur
      WHERE pseudo = ?");


      $req->execute(array($pseudo));


      $req = $req->fetch();


      if(isset($req['id'])){
        $valid = false;
        $err_pseudo = "Ce pseudo est déjà pris";
      }
    }  
    if(empty($mail)){
      $valid = false;
      $err_mail = "ce champ ne peut etre vide";


    }elseif($mail <> $confmail){
        $valid = false;
        $err_mail = "le mail est differents de la confirmation";


    }else{
      $req = $DB->prepare("SELECT id
      FROM utilisateur
      WHERE mail = ?");


      $req->execute(array($mail));


      $req = $req->fetch();


      if(isset($req['id'])){
        $valid = false;
        $err_mail = "Ce mail est déjà pris";
      }
    }


    if(empty($password)){
      $valid = false;
      $err_password = "le champ ne peut etre vide";


    }elseif($password <> $confpassword){
      $valid = false;
      $err_password = "Les deux mot de passe ne coresponde pas";
      }
     


      if($valid){


        $crypt_password = password_hash($password, PASSWORD_ARGON2ID);
        $date_creation = date('Y-m-d H:i:s');
        $req = $DB->prepare("INSERT INTO utilisateur(pseudo, mail, mdp, date_creation, date_connexion) VALUES (?, ?, ?, ?, ?)");
        $req->execute(array($pseudo, $mail, $crypt_password, $date_creation, $date_creation));


       // header('Location: index.php');
        echo 'test';


        exit;


        
      }
      }
      }
81 vues
07 février 2025 à 22:27 (Édité)
Cette pub permet au site de vivre ...

11 commentaires

Hello @Theo61,


Je vois que tu as mis un :

echo 'test';


Essaies d'en mettre beaucoup plus..

Car il faut que tu trouves dans quelle condition tu te trouves après l'envoi de ton formulaire.


Pour cela, tu peux prendre comme exemple :

if($condition){
    // It's true
    echo "It's true";
    exit;
} else {
    // It's false
    echo "It's false";
    exit;
}


Tu peux donc en rajouter, et me dire où est-ce que tu te trouves ?


Florent.

Cette pub permet au site de vivre ...
1
2