IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

problème de base de donnée PHP/MySQL [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Homme Profil pro
    Lycéen
    Inscrit en
    Mars 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : Polynésie

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Mars 2016
    Messages : 4
    Par défaut problème de base de donnée PHP/MySQL
    Bonjour à tous, je suis débutant dans la création de base de donnée. J'ai voulu créer un espace membre pour mon site internet mais lorsque je veux valider l'inscription je me retrouve avec l'erreur suivante:


    ( ! ) Fatal error: in C:\wamp64\www\Site\db.php on line 3
    ( ! ) PDOException: in C:\wamp64\www\Site\db.php on line 3
    Call Stack
    # Time Memory Function Location
    1 0.0016 247800 {main}( ) ...\inscription.php:0
    2 0.0034 250712 require_once( 'C:\wamp64\www\Site\db.php' ) ...\inscription.php:37
    3 0.0034 251384 __construct ( ) ...\db.php:3
    voici mon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="utf-8" />
            <link rel="stylesheet" href="style.css" />
            <link rel="shortcut icon" href="LVC_logo.png"> 
            <title>test</title>
        </head>
     
        <body>
     
     
    <?php  
     
    	if (!empty($_POST)) {
     
     
    		$errors = array();
     
    		if (empty($_POST['username']) || !preg_match('/^[a-zA-Z0-9_]+$/', $_POST['username']))  {
     
    			$errors['username']	= "Votre pseudo n'est pas valide";
    		}
     
    		if (empty($_POST['email']) || !filter_var($_POST['email'], FILTER_VALIDATE_EMAIL))  {
     
    			$errors['email']	= "Votre email n'est pas valide";
    		}
     
    		if (empty($_POST['password']) || $_POST['password'] != $_POST['password_confirm']) {
     
    			$errors['password']	= "Votre devez rentrer un mot de passe valide";
    		}
     
    		if (empty($errors)) {
     
    			require_once 'db.php';
    			$req = $pdo->prepare("INSERT INTO users SET username = ?, password = ?, email = ?");	
    			$password = password_hash($_POST['password'], PASSWORD_BCRYPT);
    			$req->execute([$_POST['username'], $password, $_POST['email']]);
    			die('Votre compte a bien été créé');
     
    		}
     
    		var_dump($errors);
    	}
     
    ?>
     
     
        <h1>S'inscrire </h1>	
     
        <form action="" method="POST">
     
       		<div class="form-group">
        		<label for="">Pseudo</label>
        		<input type="text" name="username" class="form-group" />
        	</div>
     
        	<div class="form-group">
        		<label for="">Email</label>
        		<input type="email" name="email" class="form-group" />
        	</div>
     
        	<div class="form-group">
        		<label for="">Mot de passe</label>
        		<input type="password" name="password" class="form-group" />
        	</div>
     
        	<div class="form-group">
        		<label for="">Veuillez confirmer votre mot de passe</label>
        		<input type="password" name="password_confirm" class="form-group" />
        	</div>
     
        	<button type="submit" class="btn btn-primary">M'inscrire</button>
     
        </form>
     
        </body>
     
    </html>

    Maintenant voici mon fichier db.php :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?php 
     
    $pdo = new PDO('mysql:dbname=lvc;host=localhost', 'root', 'root');
     
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
     
    $pdo->setAttribute(PDO::ATTR_DEFFAULT_FETCH_MODE, PDO::FETCH_OBJ);
     
    ?>




    Merci de l'aide que vous pourrez m'apporter, désolé d'avance si l'erreur est évidente.

  2. #2
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $pdo->setAttribute(PDO::ATTR_DEFFAULT_FETCH_MODE, PDO::FETCH_OBJ);
    DEFAULT avec un seul T
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_OBJ);
    A+.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Lycéen
    Inscrit en
    Mars 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : Polynésie

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Mars 2016
    Messages : 4
    Par défaut
    Merci de votre réponse mais cela n'a pas résolu le problème, le même message d'erreur s'affiche... Auriez vous une autre idée ?

  4. #4
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Essaie d'afficher les erreurs:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    try {
    $pdo = new PDO('mysql:dbname=lvc;host=localhost', 'root', 'root');
     
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
     
    $pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_OBJ);
    } catch (PDOException $e) {
        echo "Erreur : " . $e->getMessage();
    }
    A+.

  5. #5
    Membre à l'essai
    Homme Profil pro
    Lycéen
    Inscrit en
    Mars 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : Polynésie

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Mars 2016
    Messages : 4
    Par défaut merci !
    Merci beaucoup ! l'erreur était vraiment bête ! j'ai mis root comme mot de passe mais mon compte mysql n'a pas de mot de passe, je ne pouvais donc pas y accéder.
    Je passe le sujet en résolu, merci.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. problème accès base de données C# MySQL Workbench
    Par ws495 dans le forum Général Dotnet
    Réponses: 0
    Dernier message: 14/07/2017, 21h32
  2. [MySQL] Suppression d'une ligne d'une base de données (PHP/Mysql)
    Par toutaonline dans le forum PHP & Base de données
    Réponses: 12
    Dernier message: 12/05/2009, 14h31
  3. Problème de Base de données avec Mysql
    Par Peter K. dans le forum Bases de données
    Réponses: 2
    Dernier message: 02/01/2008, 11h30
  4. [MySQL] problème affichage donnée php mysql
    Par tondeuz dans le forum PHP & Base de données
    Réponses: 11
    Dernier message: 22/06/2007, 12h16
  5. Réponses: 1
    Dernier message: 30/07/2006, 20h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo