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 :

connexion php PDO vers mysql KO [PDO]


Sujet :

PHP & Base de données

  1. #1
    Membre averti
    Homme Profil pro
    retraité
    Inscrit en
    Juillet 2016
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Juillet 2016
    Messages : 16
    Par défaut connexion php PDO vers mysql KO
    Bonjour,

    je n'arrive pas à finaliser une inscription vers base de données mysql avec formulaire et je n'ai aucun message d'erreur. Donc, je ne sais meme pas si ma connexion fonctionne dans un premier temps.

    le fichier config.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <?php
    try{
       $bdd = new PDO('mysql:host=rdbms.strato.de;dbname=XXXXXX;user=UUUUUU;password=PPPPPPP;$pdo_options');
       $bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
       $bdd->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_OBJ);
    } catch(PDOException $e) {
        die('Erreur de connexion : ' . $e->getMessage());
    } 
    ?>
    le fichier register.php

    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
    <?php
    //affichage des erreurs pHP
    error_reporting(E_ALL);
    /* Indique le bon format des entêtes (par défaut apache risque de les envoyer au standard ISO-8859-1)*/
    header('Content-type: text/html; charset=UTF-8');
    if (!session_id()){
     session_start();
    }
    //connexion à la bdd (on inclus le fichier de connexion)
    require_once "config.php"; 
    /* Initialisation de la variable du message de réponse*/
    $message = null;
    /* Récupération des variables issues du formulaire par la méthode post*/
    $username = filter_input(INPUT_POST, 'username');
    $password = filter_input(INPUT_POST, 'password');
    $email = filter_input(INPUT_POST, 'email');
    $age = filter_input(INPUT_POST, 'age');
    $sexe = filter_input(INPUT_POST, 'sexe');
    $race = filter_input(INPUT_POST, 'race');
    /* Teste que les valeurs ne sont pas vides ou composées uniquement d'espaces */  
      $username = !empty(trim($username)) ? trim($username) : null;
      $password = !empty(trim($password)) ? trim($password) : null;
      $email = !empty(trim($email)) ? trim($email) : null;
      $age = !empty(trim($age)) ? trim($age) : null;
      $sexe = !empty(trim($sexe)) ? trim($sexe) : null;
      $race = !empty(trim($race)) ? trim($race) : null;
    if ($username,$password,$email,$age,$sexe,$race)){  /* Si le formulaire est envoyé et Si $pseudo etc sont différents de null */
     
        /* Requête pour récupérer les enregistrements répondant à la clause : champ du pseudo et champ du mdp de la table = pseudo et mdp posté dans le formulaire */
        //* Préparation de la requête*/
     $requete = "SELECT count(*) as NB FROM membres WHERE username = :username AND password = :password AND email = :email AND age = :age AND sexe = :sexe AND race = :race";  
        $datas = array(':username'=>$username,':password'=>$password,':email'=>$email,':age'=>$age,':sexe'=>$sexe,':race'=>$age);
        try {
          //execution de la requete
          $req_prep = $bdd->prepare($requete);
          $req_prep->execute($datas);
          $resultat = $req_prep->fetchAll(); /* Création du tableau du résultat avec fetchAll qui récupère tout le tableau en une seule fois*/
     
        } catch (PDOException $e){
          $message = 'Problème dans la requête de sélection  :' . $e->getMessage();
        } 
     
     $nb_result =!empty($resultat) ? $resultat[0]['NB'] : 0;
     
     if ($nb_result == 1) {
     
      $_SESSION['username'] = $username;
     
      //$message = 'Bonjour '.htmlspecialchars($_SESSION['username']).', vous êtes connecté';
      /*ou redirection vers une page en cas de succès ex : menu.php*/
         header("Location: ./blabla.php");
      exit();
      /* Si vous voulez récupérer les données elles se trouvent dans la première et unique ligne du tableau $resultat par exemple */
       /**$result = $resultat[0];
      echo $result['pseudo'];
      //echo $result['date_enregistrement'];
            ***/
     } else if ($nb_result > 1) {
       /* Par sécurité si plusieurs réponses de la requête mais si la table est bien construite on ne devrait jamais rentrer dans cette condition */
       $message = 'Problème de d\'unicité dans la table';
     } else {   /* Le pseudo ou le mot de passe sont incorrect */
       $message = 'pseudo ou autre champs est incorrect';
     }
    }else {/*au moins un des champs n'a pas été rempli*/
        $message = 'TOUS LES CHAMPS DOIVENT ETRE REMPLIS.';
    }
     
    ?>

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    A quoi sert le $pdo_options dans ta connexion ?

    A quel endroit affiches-tu $message ?

    Et a quel endroit fais tu l'inscription dans la base de données car là; il n'y qu'un SELECT.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre averti
    Homme Profil pro
    retraité
    Inscrit en
    Juillet 2016
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Juillet 2016
    Messages : 16
    Par défaut
    Merci pour la mise forme du code, je ne savais pas trop comment le faire.

    Je reteste et reviens vers vous.

  4. #4
    Membre averti
    Homme Profil pro
    retraité
    Inscrit en
    Juillet 2016
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Juillet 2016
    Messages : 16
    Par défaut
    Bonjour,
    J'ai viré le $pdo_options qui ne me sert pas à cette étape.
    J'affiche $message un peu plus loin.
    INSERT INTO remplace SELECT.
    J'ai supprimé la condition des valeurs retournées par le formulaire (pour le test en direct et en admettant qu'il n'y a aucune erreur de saisie!)
    J'ai toujours une page blanche qui s'affiche seulement et ma table membres reste vide.
    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
    82
    83
    84
    85
    86
     
    <?php
    //affichage des erreurs pHP
    error_reporting(E_ALL);
    /* Indique le bon format des entêtes (par défaut apache risque de les envoyer au standard ISO-8859-1)*/
    header('Content-type: text/html; charset=UTF-8');
    if (!session_id()){
     session_start();
    }
    //connexion à la bdd (on inclus le fichier de connexion)
    require_once "config.php"; 
    /* Initialisation de la variable du message de réponse*/
    $message = null;
    /* Récupération des variables issues du formulaire par la méthode post*/
    $username = filter_input(INPUT_POST, 'username');
    $password = filter_input(INPUT_POST, 'password');
    $email = filter_input(INPUT_POST, 'email');
    $age = filter_input(INPUT_POST, 'age');
    $sexe = filter_input(INPUT_POST, 'sexe');
    $race = filter_input(INPUT_POST, 'race');
    /* Teste que les valeurs ne sont pas vides ou composées uniquement d'espaces */  
      $username = !empty(trim($username)) ? trim($username) : null;
      $password = !empty(trim($password)) ? trim($password) : null;
      $email = !empty(trim($email)) ? trim($email) : null;
      $age = !empty(trim($age)) ? trim($age) : null;
      $sexe = !empty(trim($sexe)) ? trim($sexe) : null;
      $race = !empty(trim($race)) ? trim($race) : null;
    /*if ($username,$password,$email,$age,$sexe,$race) !=0) {  /* Si le formulaire est envoyé et Si $pseudo etc sont différents de null */
     
        //* Préparation de la requête*/
    $req = $bdd->prepare('INSERT INTO membres(username, password, email, age, sexe, race) VALUES(:username, :password, :email, :age, :sexe, :race)');
        //* Execution de la requête*/
    $req= $bdd->execute(array(	
    'username' => $username,
    'password' => $password,
    'email' => $email,
    'age' => $age,
    'sexe' => $sexe,
    'race' => $race
        ));
     
         header("Location: ./choix_avatar.php");
      exit();
     }
     else if ($nb_result > 1) {
     
       $message = 'Problème de d\'unicité dans la table';
     } else {   /* Le pseudo ou le mot de passe sont incorrect */
       $message = 'pseudo ou autre champs est incorrect';
     }
    else {/*au moins un des champs n'a pas été rempli*/
        $message = 'TOUS LES CHAMPS DOIVENT ETRE REMPLIS.';
    }
    ?>
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <style type="text/css">
    table {
     border-width:3px; 
     border-style:solid; 
     border-color:black;
     width:80%;
     background-image:url(images/fond1.jpg);
    background-attachment:fixed;
    color:red;
    text-align:center;
    margin: auto;
     }
    td { 
     border-width:1px;
     border-style:solid; 
     border-color:black;
     width:30%;
     }
    </style>
    </head>
    <body>
    <table>
    <br><br>
    <td><p><?php echo '$message' ?></p>
    <br><br>
    </td>
    </table>
    </body>
    </html>

  5. #5
    Membre émérite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2015
    Messages
    644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2015
    Messages : 644
    Par défaut
    Yop,

    Dans la bataille tu as du enlever une condition ce qui fait que tes accolades collent plus.

    Ton else if fait référence à rien du tout, et ton accolade au-dessus n'a pas de if

  6. #6
    Membre averti
    Homme Profil pro
    retraité
    Inscrit en
    Juillet 2016
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Juillet 2016
    Messages : 16
    Par défaut
    j'ai enlevé encore une condition et remis d'équerre aux niveaux des accolades, toujours page blanche.

    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
    82
     
     
    <?php
    //affichage des erreurs pHP
    error_reporting(E_ALL);
    header('Content-type: text/html; charset=UTF-8');
    if (!session_id()){
     session_start();
    }
    //connexion à la bdd (on inclus le fichier de connexion)
    require_once "config.php"; 
    /* Initialisation de la variable du message de réponse*/
    $message = null;
    /* Récupération des variables issues du formulaire par la méthode post*/
    $username = filter_input(INPUT_POST, 'username');
    $password = filter_input(INPUT_POST, 'password');
    $email = filter_input(INPUT_POST, 'email');
    $age = filter_input(INPUT_POST, 'age');
    $sexe = filter_input(INPUT_POST, 'sexe');
    $race = filter_input(INPUT_POST, 'race');
    /* Teste que les valeurs ne sont pas vides ou composées uniquement d'espaces */  
      $username = !empty(trim($username)) ? trim($username) : null;
      $password = !empty(trim($password)) ? trim($password) : null;
      $email = !empty(trim($email)) ? trim($email) : null;
      $age = !empty(trim($age)) ? trim($age) : null;
      $sexe = !empty(trim($sexe)) ? trim($sexe) : null;
      $race = !empty(trim($race)) ? trim($race) : null;
    /*if ($username,$password,$email,$age,$sexe,$race) !=0) {  /* Si le formulaire est envoyé et Si $pseudo etc sont différents de null */
     
        //* Préparation de la requête*/
    $req = $bdd->prepare('INSERT INTO membres(username, password, email, age, sexe, race) VALUES(:username, :password, :email, :age, :sexe, :race)');
        //* Execution de la requête*/
    $req= $bdd->execute(array(	
    'username' => $username,
    'password' => $password,
    'email' => $email,
    'age' => $age,
    'sexe' => $sexe,
    'race' => $race
        ));
      /* redirection vers une page en cas de succès ex : menu.php*/
         header("Location: ./choix_avatar.php");
      exit();
     else {   /* Le pseudo ou le mot de passe sont incorrect */
       $message = 'pseudo ou autre champs est incorrect';
     }
    else {/*au moins un des champs n'a pas été rempli*/
        $message = 'TOUS LES CHAMPS DOIVENT ETRE REMPLIS.';
    }
    ?>
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <style type="text/css">
    table {
     border-width:3px; 
     border-style:solid; 
     border-color:black;
     width:80%;
     background-image:url(images/fond1.jpg);
    background-attachment:fixed;
    color:red;
    text-align:center;
    margin: auto;
     }
    td { 
     border-width:1px;
     border-style:solid; 
     border-color:black;
     width:30%;
     }
    </style>
    </head>
    <body>
    <table>
    <br><br>
    <td><p><?php echo '$message' ?></p>
    <br><br>
    </td>
    </table>
    </body>
    </html>

  7. #7
    Membre émérite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2015
    Messages
    644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2015
    Messages : 644
    Par défaut
    Ou alors tu t'es trompé de code, ou tu as pas tout fixé.

    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
    <?php
    //affichage des erreurs pHP
    error_reporting(E_ALL);
    header('Content-type: text/html; charset=UTF-8');
    if (!session_id()){
     session_start();
    }
    //connexion à la bdd (on inclus le fichier de connexion)
    require_once "config.php"; 
    /* Initialisation de la variable du message de réponse*/
    $message = null;
    /* Récupération des variables issues du formulaire par la méthode post*/
    $username = filter_input(INPUT_POST, 'username');
    $password = filter_input(INPUT_POST, 'password');
    $email = filter_input(INPUT_POST, 'email');
    $age = filter_input(INPUT_POST, 'age');
    $sexe = filter_input(INPUT_POST, 'sexe');
    $race = filter_input(INPUT_POST, 'race');
    /* Teste que les valeurs ne sont pas vides ou composées uniquement d'espaces */  
      $username = !empty(trim($username)) ? trim($username) : null;
      $password = !empty(trim($password)) ? trim($password) : null;
      $email = !empty(trim($email)) ? trim($email) : null;
      $age = !empty(trim($age)) ? trim($age) : null;
      $sexe = !empty(trim($sexe)) ? trim($sexe) : null;
      $race = !empty(trim($race)) ? trim($race) : null;
    /*if ($username,$password,$email,$age,$sexe,$race) !=0) {  /* Si le formulaire est envoyé et Si $pseudo etc sont différents de null */
     
        //* Préparation de la requête*/
    $req = $bdd->prepare('INSERT INTO membres(username, password, email, age, sexe, race) VALUES(:username, :password, :email, :age, :sexe, :race)');
        //* Execution de la requête*/
    $req= $bdd->execute(array(	
    'username' => $username,
    'password' => $password,
    'email' => $email,
    'age' => $age,
    'sexe' => $sexe,
    'race' => $race
        ));
      /* redirection vers une page en cas de succès ex : menu.php*/
         header("Location: ./choix_avatar.php");
      exit();
     else {   /* Le pseudo ou le mot de passe sont incorrect */
       $message = 'pseudo ou autre champs est incorrect';
     }
    else {/*au moins un des champs n'a pas été rempli*/
        $message = 'TOUS LES CHAMPS DOIVENT ETRE REMPLIS.';
    }
    ?>
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <style type="text/css">
    table {
     border-width:3px; 
     border-style:solid; 
     border-color:black;
     width:80%;
     background-image:url(images/fond1.jpg);
    background-attachment:fixed;
    color:red;
    text-align:center;
    margin: auto;
     }
    td { 
     border-width:1px;
     border-style:solid; 
     border-color:black;
     width:30%;
     }
    </style>
    </head>
    <body>
    <table>
    <br><br>
    <td><p><?php echo '$message' ?></p>
    <br><br>
    </td>
    </table>
    </body>
    </html>
    Sur mes lignes en rouge, le if de départ est ou? Tu peux pas commencer une condition par else...

    Si c'est le if en bleu, il est commenté

  8. #8
    Membre averti
    Homme Profil pro
    retraité
    Inscrit en
    Juillet 2016
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Juillet 2016
    Messages : 16
    Par défaut
    ok, je rectifie...et c'est toujours le néant
    (j'ai modifié aussi la requete d'execution en ajoutant $POST)

    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
     
    <?php
    //affichage des erreurs pHP
    error_reporting(E_ALL);
    ini_set('display_errors','on');
    header('Content-type: text/html; charset=UTF-8');
    if (!session_id()){
     session_start();
    }
    //connexion à la bdd (on inclus le fichier de connexion)
    require_once "config.php"; 
    /* Initialisation de la variable du message de réponse*/
    $message = null;
    /* Récupération des variables issues du formulaire par la méthode post*/
    $username = filter_input(INPUT_POST, 'username');
    $password = filter_input(INPUT_POST, 'password');
    $email = filter_input(INPUT_POST, 'email');
    $age = filter_input(INPUT_POST, 'age');
    $sexe = filter_input(INPUT_POST, 'sexe');
    $race = filter_input(INPUT_POST, 'race');
    /* Teste que les valeurs ne sont pas vides ou composées uniquement d'espaces */  
      $username = !empty(trim($username)) ? trim($username) : null;
      $password = !empty(trim($password)) ? trim($password) : null;
      $email = !empty(trim($email)) ? trim($email) : null;
      $age = !empty(trim($age)) ? trim($age) : null;
      $sexe = !empty(trim($sexe)) ? trim($sexe) : null;
      $race = !empty(trim($race)) ? trim($race) : null;
    if ($username,$password,$email,$age,$sexe,$race) !=0) {  /* Si le formulaire est envoyé et Si $pseudo etc sont différents de null */
     
        //* Préparation de la requête*/
    $req = $bdd->prepare("INSERT INTO membres(username, password, email, age, sexe, race) VALUES(:username, :password, :email, :age, :sexe, :race)");
        //* Execution de la requête*/
    $req= $bdd->execute(array(':username' => $POST["username"],':password' => $POST["password"],':email' => $POST["email"],':age' => $POST["age"],
    ':sexe' => $POST["sexe"],':race' => $POST["race"]));
    //*$req= $bdd->execute(array(':username' => $username,':password' => $password,':email' => $email,':age' => $age,':sexe' => $sexe,':race' => $race));
     
     
     
    	/* redirection vers une page en cas de succès ex : menu.php*/
         header("Location: ./choix_avatar.php");
      exit();
     else {   /* Le pseudo ou le mot de passe sont incorrect */
       $message = 'pseudo ou autre champs est incorrect';
     }
    else {/*au moins un des champs n'a pas été rempli*/
        $message = 'TOUS LES CHAMPS DOIVENT ETRE REMPLIS.';
    }
    ?>
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <style type="text/css">
    table {
     border-width:3px; 
     border-style:solid; 
     border-color:black;
     width:80%;
     background-image:url(images/fond1.jpg);
    background-attachment:fixed;
    color:red;
    text-align:center;
    margin: auto;
     }
    td { 
     border-width:1px;
     border-style:solid; 
     border-color:black;
     width:30%;
     }
    </style>
    </head>
    <body>
    <table>
    <br><br>
    <td><p><?php echo '$message' ?></p>
    <br><br>
    </td>
    </table>
    </body>
    </html>

    Je me demande si mon hébergeur accepte PDO.....
    j'ai juste fait un test de connexion avec mysqli et cela m'a afficher "connexion réussie".....
    le pb viendrait peut-etre de là ?

  9. #9
    Membre émérite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2015
    Messages
    644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2015
    Messages : 644
    Par défaut
    Surement pas.

    Quel navigateur utilises-tu? Tu te sert de Firebug?

    Les erreurs que tu fais, sont dû à un manque de rigueur.

    Dans ton code ici encore :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if ($username,$password,$email,$age,$sexe,$race) !=0) {
    ça devrait te choquer... Tu ouvres une parenthèse pour en fermer deux.

    Qui plus est, c'est pas la solution la plus propre pour vérifier la validité de tes champs je pense... Enfin c'est un autre débat.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (($username,$password,$email,$age,$sexe,$race) !=0) {


    Et puis, tu veux afficher ta variable message, ou la chaîne de caractère '$message'?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php echo('$message'); ?>
    et

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php echo($message); ?>
    n'ont pas vraiment la même signification...

  10. #10
    Membre averti
    Homme Profil pro
    retraité
    Inscrit en
    Juillet 2016
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Juillet 2016
    Messages : 16
    Par défaut
    Correction ok pour l'accolade.
    firebug affiche:
    NetworkError: 500 Internal Server Error - http://www.micromonde.org/register.php

  11. #11
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
        //* Préparation de la requête*/
    $req = $bdd->prepare('INSERT INTO membres (username, password, email, age, sexe, race) VALUES (:username, :password, :email, :age, :sexe, :race)');
        //* Execution de la requête*/
    $req= $bdd->execute(array(	
        ':username' => $username,
        ':password' => $password,
        ':email' => $email,
        ':age' => $age,
        ':sexe' => $sexe,
        ':race' => $race
        ));
    Et remplace ( ) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if ($username,$password,$email,$age,$sexe,$race) !=0) {
    par isset() :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if ( isset($username,$password,$email,$age,$sexe,$race) ) {
    N.B. On trouve sur le web de nombreux scripts de connexion, en cherchant un peu...

  12. #12
    Membre averti
    Homme Profil pro
    retraité
    Inscrit en
    Juillet 2016
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Juillet 2016
    Messages : 16
    Par défaut
    En tâtonnant et avec vos conseils, ça fonctionne.
    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
     
    <?php
    error_reporting(E_ALL);
    ini_set('display_errors','on');
    header('Content-type: text/html; charset=UTF-8');
    if (!session_id()){
     session_start();
    }
    require_once "config.php"; 
    $message = null;
     
    $username = filter_input(INPUT_POST, 'username');
    $password = filter_input(INPUT_POST, 'password');
    $email = filter_input(INPUT_POST, 'email');
    $age = filter_input(INPUT_POST, 'age');
    $sexe = filter_input(INPUT_POST, 'sexe');
    $race = filter_input(INPUT_POST, 'race');
     
      $username = !empty(trim($username)) ? trim($username) : null;
      $password = !empty(trim($password)) ? trim($password) : null;
      $email = !empty(trim($email)) ? trim($email) : null;
      $age = !empty(trim($age)) ? trim($age) : null;
      $sexe = !empty(trim($sexe)) ? trim($sexe) : null;
      $race = !empty(trim($race)) ? trim($race) : null;
     
     if(empty($username) OR empty($password) OR empty($email) OR empty($age) OR empty($sexe)OR empty($race))
     {
     
    $message = 'TOUS LES CHAMPS DOIVENT ETRE VALIDÉS.';
    }
     
    else 
    {	
     
    $req = $bdd->prepare('INSERT INTO membres (username, password, email, age, sexe, race) VALUES (:username, :password, :email, :age, :sexe, :race)');
        //* Execution de la requête*/
    $req->execute(array(	
        ':username' => $username,
        ':password' => $password,
        ':email' => $email,
        ':age' => $age,
        ':sexe' => $sexe,
        ':race' => $race
        ));	
     
         header("Location: ./choix_avatar.php");
      exit();
    }
    ?>

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

Discussions similaires

  1. Connexion php PDO avec Oracle
    Par Dev SH dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 15/06/2014, 04h11
  2. Connexion php vers une access
    Par Zan dans le forum Access
    Réponses: 6
    Dernier message: 13/06/2007, 09h46
  3. [SQL-Server] Connexion Php vers MSSQL Server 2000
    Par Andry dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 19/07/2006, 13h22
  4. Aide sur requete PHP vers MySQL
    Par pounie dans le forum Requêtes
    Réponses: 4
    Dernier message: 19/02/2006, 15h12
  5. Connexion depuis LAN impossible vers Mysql sur RH8
    Par RamDevTeam dans le forum Administration
    Réponses: 4
    Dernier message: 10/02/2005, 15h28

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