Partage
  • Partager sur Facebook
  • Partager sur Twitter

formulaire d'inscription qui ne marche pas !!

Sujet résolu
    26 février 2020 à 14:47:38

    j'ai une base de donnés et quand je remplie mon formulaire rien ne se passe j'aurai besoin d'aide !

    l'index.php

    <?php session_start();
    
    	$_SESSION['pseudo'] = "pseudo";
    	$_SESSION['age'] = "age";
    
     ?>
    <!DOCTYPE html>
    <html>
    <head>
    	<title>titre</title>
    </head>
    <body>
    
    <h1>votre profil :</h1>
    <?php 
    
    		if(isset($_SESSION['pseudo']) && (isset($_SESSION['age']))){
    
    
    			?>
    
    			<p>votre pseudo : <?php echo $_SESSION['pseudo']; ?></p>
    			<p>votre age : <?php echo $_SESSION['age']; ?></p>
    
    			<?php
    
    		}
    
     ?>
    
    <form method="post">
    	<input type="password" name="password"  id="password" placeholder="votre mdp" required><br><br>
        <input type="password" name="cpassword"  id="cpassword" placeholder="confirmez votre mdp" required><br><br>
         <input type="email" name="email"  id="email" placeholder="votre email" required><br><br>
        <input type="text" name="pseudo"  id="pseudo" placeholder="votre pseudo" required><br><br>
        <input type="submit" name="fromsend"  id="fromsend" value="s'inscrire"><br><br>
    
    </form>
    
    <?php
    
    
    
    if(isset($_POST['fromsend'])){
    
    	extract($_POST);
    
        if(!empty($pseudo) && !empty($email) && !empty($password) && !empty($cpasssword)){
    
    		if($password == $cpassword){
    				$options = [
    	    'cost' => 12,
    	];
    	$hashpass = password_hash($password, PASSWORD_BCRYPT, $options);
    
    	include 'database.php';
    	global $db;
    	global $test;
    
    	$c = $db->prepare("SELECT email FROM users WHERE email = :email");
    	$c->execute(['email' => $email]);
    	$result = $c->rowCount();
    
    	echo $result;
    
    	if($result == 0){
    			$q = $db->prepare("INSERT INTO users(:pseudo,:email,:password) VALUES(pseudo,email,password)");
    		$q->execute([
    			'pseudo' => $pseudo,
    			'email' => $email,
    			'password' => $hashpass
    		]);
    		echo "le compte a été créé";
    	} else {
    		echo "echec de la création du compte : un identifiant avec cet email exite déjà !";
    	}
    
    
    
    
    
    		}
    
    
    
    	// if(password_verify($password, $hashpass)){
    	// 	echo "bon mdp";
    	// } else {
    	// 	echo "mauvais mdp";
    	// }
    
    
    	
    
    }else{
    	echo "veuillez remplir tous les champs";
    }
    
    }
    
    ?>
    
    <?php include 'menu.php';
    
    echo "test";
    
    ?>
    </body>
    </html>

    et le database.php

    <?php
    
    define('HOST','localhost');
    define('DB_NAME','siteweb');
    define('USER','root');
    define('PASS','');
    echo "conect > ok";
    try{
    	$db = new PDO("mysql:host=" . HOST . ";dbname=" . DB_NAME, USER, PASS);
    	$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    	echo "conect > ok";
    } catch(PDOException $e){
    	echo $e;
    } 
    
    ?>
    <?php 
    
    $test = "conect";
    
     ?>

    merci d'avance !


    • Partager sur Facebook
    • Partager sur Twitter
      26 février 2020 à 14:51:28

      salut,

      "rien ne se passe" => mais encore ???

      • Partager sur Facebook
      • Partager sur Twitter
        26 février 2020 à 15:01:08

        if(!empty($pseudo) && !empty($email) && !empty($password) && !empty($cpassword)){

        attention à la syntaxe:  cpasssword a remplacer par cpassword.

        dans ton input le name c'est cpassword

        -
        Edité par Herozion 26 février 2020 à 15:02:12

        • Partager sur Facebook
        • Partager sur Twitter
          26 février 2020 à 15:03:13

          Ah tiens tant qu'on y est, les 2 "global" sont à bannir
          • Partager sur Facebook
          • Partager sur Twitter
            26 février 2020 à 15:13:02

            BONJOUR.

            Tu as aussi inverser les marqueurs et les noms de champs de la requête.

            Mais comme tu n'as pas activés l'affichage des erreurs PDO (cf ma signature)....

            • Partager sur Facebook
            • Partager sur Twitter
              1 mai 2021 à 11:40:22

              Merci beaucoup à vous tous

              J'avais abandonné car je ne recevais pas vos messages mais merci beaucoup.

              • Partager sur Facebook
              • Partager sur Twitter
                1 mai 2021 à 12:23:49

                pense à mettre le sujet a résolu
                • Partager sur Facebook
                • Partager sur Twitter
                  25 septembre 2021 à 17:52:32

                  Aurélien10! a écrit:

                  pense à mettre le sujet a résolu



                  • Partager sur Facebook
                  • Partager sur Twitter
                    10 octobre 2021 à 0:15:14

                    Petite remarque, préférez le === au == . parfois en PHP le double == peut donner des choses étonnantes...
                    • Partager sur Facebook
                    • Partager sur Twitter

                    formulaire d'inscription qui ne marche pas !!

                    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                    • Editeur
                    • Markdown