Partage
  • Partager sur Facebook
  • Partager sur Twitter

Aucune données dans ma base de données

Sujet résolu
    16 septembre 2020 à 21:25:14

    Bonjour,

    J'ai un problème avec le projet, aucune données ne sont envoyés dans la base de données !

    Ma page inscription :

    <?php
    
    require('inc/db.php');
    
    //Inscription
    if(!empty($_POST['pseudo']) && !empty($_POST['email']) && !empty($_POST['password']) && !empty($_POST['password_confirm'])) {
    
    	$pseudo           = $_POST['pseudo'];
    	$email            = $_POST['email'];
    	$password         = $_POST['password'];
    	$password_confirm = $_POST['password_confirm'];
    
    	if($password != $password_confirm) {
    		header('Location: register.php?error=1&pass=1');
    		exit();
    	}
    
    	$req = $db->prepare("SELECT count(*) as numberEmail FROM users WHERE email = ?");
    	$req->execute(array($email));
    
    	while($email_verification = $req->fetch()) {
    		if($email_verification['numberEmail'] != 0) {
    			header('Location: register.php?error=1&email=1');
    			exit();
    		}
    	}
    
    	$secret = sha1($email).time();
    	$secret = sha1($secret).time().time();
    
    	$password = "ua1".sha1($password."1254")."25dbu";
    
    	$req = $db->prepare("INSERT INTO users(pseudo, email, password, secret) VALUES(?, ?, ?, ?,)");
    	$req->execute(array($pseudo, $email, $password, $secret));
    
    	header('Location: register.php?succes=1');
    	exit();
     
    }
    
    ?>
    <!DOCTYPE html>
    <html>
    <head>
    	<meta charset="utf-8">
    	<link rel="stylesheet" type="text/css" href="inc/style.css">
    	<title>Kenz</title>
    </head>
    <body>
    <div>
    	<div class="box">
    		<h1>Inscription</h1><br>
    
    		<?php 
              if(isset($_GET['error'])) {
              	if(isset($_GET['pass'])) {
              		echo '<p class="error">Les mots de passe ne sont pas identiques</p><br>';
              	}
              	else if(isset($_GET['email'])) {
              		echo '<p class="error">L\'adresse e-mail est déjà utilisée</p><br>';
              	}
              }
    
              if(isset($_GET['succes'])) {
              	echo '<p class="succes">Votre compte a bien été crée</p><br>';
              }
    		?>
    		<form method="POST" action="register.php">
                   <label for="email">E-mail : </label><input type="email" name="email" id="email" placeholder="Votre adresse e-mail" required>
    			   <label for="pseudo">Pseudo : </label><input type="text" name="pseudo" id="pseudo" placeholder="Votre pseudo" required>
    			   <label for="password">Mot de passe : </label><input type="password" name="password" id="password" placeholder="Votre mot de passe" required>
    			   <label for="password_confirm">Confirmer mot de passe : </label><input type="password" name="password_confirm" id="password_confirm" placeholder="Confirmez votre mot de passe" required>
    			   <button name="submit" type="submit">S'inscrire</button>
    		</form>
    		<p>Déja inscrit ? <a href="connection.php">Se connecter</a></p>
    	</div>
    </div>
    </body>
    </html>



    Ma page base de données :

    <?php
    
    $db = new PDO('mysql:host=localhost;dbname=kenzdev_users;charset=utf8', 'root', '');
    
    ?>



    1. L'onglet "Structure" de ma base de données :

    Merci de votre aide !

    • Partager sur Facebook
    • Partager sur Twitter

    Je sais qu'on s'ennuie pendant le confinement mais, ne sortez pas.

    - Kenz, avril 2020 

      16 septembre 2020 à 21:39:11

      bonjour,

      une , de trop ligne 33 car les erreurs PDO ne sont pas activé

      et un while sur une requête "count" c'est inutile car il n'y a qu'un résultat

      -
      Edité par Aurélien.C 16 septembre 2020 à 21:40:30

      • Partager sur Facebook
      • Partager sur Twitter
        16 septembre 2020 à 21:59:24

        Effectivement, il y avait une virgule de trop, et ça va mieux. Merci.

        Je mets ce sujet en résolu.

        • Partager sur Facebook
        • Partager sur Twitter

        Je sais qu'on s'ennuie pendant le confinement mais, ne sortez pas.

        - Kenz, avril 2020 

        Aucune données dans ma base de données

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