Problème MYSQL

rose2512 Messages postés 450 Statut Membre -  
rose2512 Messages postés 450 Statut Membre -
Bonjour,
J'ai un problème, lorsque je met le code PHP pour ce connecter à une base de donné qui est celui ci:

<?php
$bdd = new PDO('mysql:host=127.0.0.1;dbname=espace_membre', 'root', '');

if(isset($_POST['forminscription'])) {
   $pseudo = htmlspecialchars($_POST['pseudo']);
   $mail = htmlspecialchars($_POST['mail']);
   $mail2 = htmlspecialchars($_POST['mail2']);
   $mdp = sha1($_POST['mdp']);
   $mdp2 = sha1($_POST['mdp2']);
   if(!empty($_POST['pseudo']) AND !empty($_POST['mail']) AND !empty($_POST['mail2']) AND !empty($_POST['mdp']) AND !empty($_POST['mdp2'])) {
      $pseudolength = strlen($pseudo);
      if($pseudolength <= 255) {
         if($mail == $mail2) {
            if(filter_var($mail, FILTER_VALIDATE_EMAIL)) {
               $reqmail = $bdd->prepare("SELECT * FROM membres WHERE mail = ?");
               $reqmail->execute(array($mail));
               $mailexist = $reqmail->rowCount();
               if($mailexist == 0) {
                  if($mdp == $mdp2) {
                     $insertmbr = $bdd->prepare("INSERT INTO membres(pseudo, mail, motdepasse) VALUES(?, ?, ?)");
                     $insertmbr->execute(array($pseudo, $mail, $mdp));
                     $erreur = "Votre compte a bien été créé ! <a href=\"connexion.php\">Me connecter</a>";
                  } else {
                     $erreur = "Vos mots de passes ne correspondent pas !";
                  }
               } else {
                  $erreur = "Adresse mail déjà utilisée !";
               }
            } else {
               $erreur = "Votre adresse mail n'est pas valide !";
            }
         } else {
            $erreur = "Vos adresses mail ne correspondent pas !";
         }
      } else {
         $erreur = "Votre pseudo ne doit pas dépasser 255 caractères !";
      }
   } else {
      $erreur = "Tous les champs doivent être complétés !";
   }
}
?>


j'ai une erreur qui est celle-ci :
 prepare("SELECT * FROM membres WHERE mail = ?"); $reqmail->execute(array($mail)); $mailexist = $reqmail->rowCount(); if($mailexist == 0) { if($mdp == $mdp2) { $insertmbr = $bdd->prepare("INSERT INTO membres(pseudo, mail, motdepasse) VALUES(?, ?, ?)"); $insertmbr->execute(array($pseudo, $mail, $mdp)); $erreur = "Votre compte a bien été créé ! Me connecter"; } else { $erreur = "Vos mots de passes ne correspondent pas !"; } } else { $erreur = "Adresse mail déjà utilisée !"; } } else { $erreur = "Votre adresse mail n'est pas valide !"; } } else { $erreur = "Vos adresses mail ne correspondent pas !"; } } else { $erreur = "Votre pseudo ne doit pas dépasser 255 caractères !"; } } else { $erreur = "Tous les champs doivent être complétés !"; } } ?>

Pouvez-vous m'aider ? Merci

EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici :ICI

Merci d'y penser dans tes prochains messages.

8 réponses

Résumé de la discussion

La problématique porte sur la connexion à une base MySQL via PDO et sur les erreurs liées aux identifiants ou à l’exécution des requêtes d’inscription. Des éléments de réponse essentiels portent sur la vérification des informations de connexion (hôte, nom de la base, identifiant et mot de passe fournis par l’hébergeur), l’activation du mode d’erreur PDO et tests locaux. Pour isoler le problème, d'autres solutions préconisent de tester le fonctionnement de PHP par une page minimale affichant un message et de vérifier que le serveur répond. En cas de persistance, il est conseillé d’aligner les paramètres avec ceux fournis par l’hébergeur (nom de la base, utilisateur MySQL et mot de passe) et d’éviter de divulguer ces informations publiquement.

Généré automatiquement par IA
sur la base des meilleures réponses
  1. soma
     
    Salut,
    quelle erreur est indiquée donc?

    Commencez par corriger votre syntaxe comme ici:
    VALUES(?, ?, ?)");

    Les if else à répétition c'est très moche(ça rend le script difficile à lire même pour son auteur) et une source d'erreurs et de problèmes, il y a bien des façons de faire ce genre de choses et la vôtre n'est pas la plus belle.

    Quant au SQL il faudrait déjà se connecter pour savoir si il y a une erreur.

    Vous pouvez tester sur la console mysql une requête pour voir si celle ci marche directement, mais ici il y a déjà les fautes PHP à s'occuper.

    Je dit bien fautes car erreur c'est quand on se trompe, ici c'est mal écrit donc des fautes et à l'instar de n'importe quel langage ça rends difficile de vous comprendre quand la syntaxe est pas respecté. Un ordinateur ce sont des bêtes processeurs, donc il y a une faute sur un texte qui pourrais prendre autant de pages que l'on veux et il n'arrive pas à lire le reste...
    0
  2. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
     
    Bonjour,

    Déjà ... place le code de connexion à ta BDD dans un fihcier à part que tu n'auras qu'à inclure dans les pages où tu en auras besoin...
    Ca t'éviter de copier/coller 50 fois la même chose ....
    Par exemple :
    <?php
    //Fichier de connexion à la bdd : cnxBdd.php
     try{
        $bdd= new PDO('mysql:host=127.0.0.1;dbname=espace_membre', 'root', '');
       $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());
    } 
    

    et pour l'utiliser, juste coller la ligne ci-dessous dans ton fichier :
      // connexion à la BDD
      require_once "cnxBdd.php";
    


    NB: Les blocs TRY/CATCH permettent d'intercepter les éventuelles erreurs. (tu peux/dois.. aussi les utiliser sur tes requêtes ! )

    Ensuite, au début de ton script, ajoutes la ligne :
    //Active l'affichage des erreurs PHP
    error_reporting(E_ALL);
    


    Une fois la connexion correctement réalisée et sans erreur.... tu peux passer à la suite de ton code.
    - Récupération "propre" des variables AVANT de les utiliser
    - Utilisation de ces variables ...

       $pseudo = htmlspecialchars($_POST['pseudo']);
       $mail = htmlspecialchars($_POST['mail']);
       $mail2 = htmlspecialchars($_POST['mail2']);
       $mdp = sha1($_POST['mdp']);
       $mdp2 = sha1($_POST['mdp2']);
       if(!empty($_POST['pseudo']) AND !empty($_POST['mail']) AND !empty($_POST['mail2']) AND !empty($_POST['mdp']) AND !empty($_POST['mdp2'])) {
    

    devient :
       $pseudo =!empty($_POST['pseudo']) ? htmlspecialchars($_POST['pseudo']) : NULL;
       $mail = !empty($_POST['mail']) ? htmlspecialchars($_POST['mail']) : NULL; 
       $mail2 = !empty($_POST['mail2 ']) ? htmlspecialchars($_POST['mail2 ']) : NULL; 
       $mdp = !empty($_POST['mdp ']) ? htmlspecialchars($_POST['mdp ']) : NULL; 
       $mdp2 = !empty($_POST['mdp2 ']) ? htmlspecialchars($_POST['mdp2 ']) : NULL; 
    
       if($pseudo && $mail && $mail2 && $dmp && $mdp2) {
    


    et pour finir , comme indiqué avant, mettre des blocs try/catch à tes requêtes :
      $reqmail = $bdd->prepare("SELECT * FROM membres WHERE mail = ?");
                   $reqmail->execute(array($mail));
    

    devient :
    //Préparation de al requete 
    $sql = "SELECT * FROM membres WHERE mail = :mail";
    $datas = array(":mail"=>$mail);
    
    //exécution de la requete :
    try{
        $prepare= $bdd->prepare($sql);
        $prepare->execute($datas);
    }catch(Exception $e){
      // en cas d'erreur dans la requete
       echo "Erreur : ".$e->getMessage();
       echo "<br> Dans la requete :".$sql;
       echo "<br> Avec les variables : ";
       print_r($datas);
    }
    

    NB: Tu noteras que seul la variable $sql et la variable $datas ne changent d'une requête à une autre... le reste du code (dans le try/catch) reste inchangé... tu n'as donc pas à y toucher !

    Je te laisse faire toutes ces corrections à ton code puis à revenir nous voir si tu rencontres toujours des problèmes.
    Pense également à nous donner en détail le souci rencontré.... et le message d'erreur si il y en a un !

    0
    1. rose2512 Messages postés 450 Statut Membre 7
       
      Merci beaucoup
      Lorsque je met le code connexion a la bdd, une erreur apparait :
      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()); 
      }
      




      EDIT : Ajout des balises de code (la coloration syntaxique).
      Explications disponibles ici :ICI

      Merci d'y penser dans tes prochains messages.
      0
      1. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830 > rose2512 Messages postés 450 Statut Membre
         
        1 - Merci d'utiliser LES BALISES DE CODE lorsque tu postes du code sur le forum
        Explications disponibles ici : https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code


        2 - Une erreur apparait ..... LAQUELLE ??
        car là... ce n'est pas une erreur que tu nous montres ... mais un bout de code.....
        0
      2. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830 > jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention  
         
        Au passage.. dis voir..... tu as quoi comme URL dans ton navigateur lorsque tu arrives sur cette page ?

        Si tu bosses en local sur ton ordi..... tu as bien pensé à installer (et à utiliser) un logiciel tel que WAMP ou XAMPP ou EASYPHP ???? Et donc tu passes bien par ton LOCALHOST ?
        0
    2. rose2512 Messages postés 450 Statut Membre 7
       
      lorsque je met le code
      <?php
      //Fichier de connexion à la bdd : cnxBdd.php
      try{
      $bdd= new PDO('mysql:host=127.0.0.1;dbname=espace_membre', 'root', '');
      $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());
      }


      une erreur apparait qui est celle ci :
      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());
      }
      0
      1. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830 > rose2512 Messages postés 450 Statut Membre
         
        Ce que tu montres... n'est pas une ERRUER mais des lignes de code !
        Merci de répondre à mes questions si tu souhaites obtenir de l'aide
        0
  3. rose2512 Messages postés 450 Statut Membre 7
     
    je bosse sur ça file:///C:/Users/******/Dossier/Code/index.html
    0
    1. rose2512 Messages postés 450 Statut Membre 7
       
      Si c'est des lignes de codes comment faire pour qu'elles disparaisent du site ?
      0
    2. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830 > rose2512 Messages postés 450 Statut Membre
       
      Tu travailles donc en local sur ton ordi...
      1 - as tu installé un logiciel comme wamp ou xampp ou easyphp ?
      2 - si oui.... l'icône est elle bien en "vert" lorsque tu la lances ?
      3 - si oui... il faut passer par le localhost pour afficher tes pages. (Pages que tu dois placer dans le répertoire de l'application ( "www" ou "htdocs" selon le logiciel installé )
      0
    3. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830 > jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention  
       
      Nb: si tu réponds non a une de ces questions. .. impossible d'utiliser du php.
      0
    4. rose2512 Messages postés 450 Statut Membre 7
       
      Non je n'ai pas installé de logiciel
      Mais lorsque j'héberge ma page index.html sur mon site en FTP sa fait la même chose donc est-ce que le problème ne vient pas plutot du code ?
      0
    5. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830 > jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention  
       
      Nb2: en plus de tout ça. . renomme ton fichier en .php au lieu de .html
      0
  4. rose2512 Messages postés 450 Statut Membre 7
     
    J'ai installer esyPHP tout comme il faut cela marche à merveille mais il y a toujours la ligne de code :
    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());
    }


    comment faire ?
    0
    1. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
       

      mais il y a toujours la ligne de code :

      As tu renommé ton fichier comme on te l'a déjà indiqué ??? (en .php ) ???
      Si oui... montres nous le code COMPLET de ton fichier ainsi que son nom.



      Mais peut-on tester son PHP en le mettant en FTP sur son site ? sans utiliser de logiciel pour tester en local

      Oui.
      0
    2. yoDeGourt
       
      oui sur l'hébergeur web(ftp c'est le mode de transfert) sous réserve d'avoir un serveur apache pour PHP.

      Mais ce n'est plus un test donc si on fait des erreurs elles seront visibles sur le site voire peuvent endommager la base de données.
      D'où l'intérêt de tester en local plutôt que de rendre public des erreurs et avoir un programme qui ne fonctionne pas et présentera des bugs.
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. rose2512 Messages postés 450 Statut Membre 7
     
    Faut-il avoir un serveur apache si notre site est héberger sur un hébergeur ? Mon hébergeur est hostinger

    Oui j'ai renomé en PHP et le nom est code.php

    <!DOCTYPE html>
    <html>
    <head>
    <title>Site</title>
    <meta charset="utf-8">
    <link rel="stylesheet" type="text/css" href="stylee.css">

    </head>

    <div style="submit"><input type="text" placeholder="Pseudo" name="username" value="" style="width: 90px;height: 16px;font-size: 13px;color: #333;margin-left:79%;">
    <input type="password" placeholder="Mot De Passe" name="password" value="" style="width: 90px;height: 16px;font-size: 13px;color: #333;margin-left:0%;">

    <input type="submit" name="submit" value="submit" style="display:none;">
    <button type="submit" id="contact_submit" data-loading-text="•••" style="font-size: 13px;margin: 4px 0 0px 0;
    padding: 1px 4px;margin-left:4pxpx;
    font-family: 'Open Sans', sans-serif;
    font-weight: bold;" class="btn btn-primary"><i class="icon icon-lock"></i>Connexion</button>

    <form class="form-container">
    <div class="form-title"><h2>Inscription</h2></div>
    <div class="form-title">Pseudo</div>
    <input class="form-field" type="text" name="firstname" /><br />
    <div class="form-title">Mot De Passe</div>
    <input class="form-field" type="text" name="firstname" /><br />
    <div class="form-title">Email </div>
    <input class="form-field" type="text" name="email" /><br />

    <center><a href='#' class='button'>Inscription</a></center>

    </div
    </form>
    <html/>
    <?php
    //Fichier de connexion à la bdd : cnxBdd.php
    try{
    $bdd= new PDO('mysql:host=127.0.0.1;dbname=espace_membre', 'root', '');
    $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());
    }

    0
    1. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
       
      Le code que tu nous montres n'a aucun rapport avec les bouts de code montrés jusqu'à maintenant.

      De plus.. prend l'habitude de placer ton code php AVANT ton html.

      Tu feras également attention... tu as une balise
      </form> qui se balade toute seule au milieu de ta page.
      0
    2. rose2512 Messages postés 450 Statut Membre 7
       
      Donc comment faire ?
      Qu'importe le code pour me connecter à la base de donnée MYSQL, aucun ne fonctionne, aucun psuedo n'aparait dans ma base de donné sur phpmyadmin et il y a toujours des lignes de codes qui apparaisent
      0
      1. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830 > rose2512 Messages postés 450 Statut Membre
         
        Fais donc un essai...
        Remplace TOUT le contenu de ton fichier index.php par les lignes de code suivantes :
        <?php
          //début du code php
         $msg =  "Le php fonctionne";
        
        ?>
        <html>
        <head>
          <title>TEST</title>
        </head>
        <body>
          <b>   <?php    echo $msg;  ?>  </b>
        </body>
        </html>
        
        

        puis dis moi ce que ça t'affiche exactement...
        0
    3. rose2512 Messages postés 450 Statut Membre 7
       
      Il s'affiche une page avec écrit le php fonctionne
      donc cela comment faire pour que je puisse me connecter a la base de donnée MYSQL ?
      0
  7. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
     
    Essaye ce code maintenant :

    <?php
    
    //affichage des erreurs php :
    error_reporting(E_ALL);
    
    //Connexion à la BDD
     try{
       $bdd= new PDO('mysql:host=127.0.0.1;dbname=espace_membre', 'root', '');
       $bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
       $bdd->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_OBJ);
       echo "Connexion à la BDD : OK !"; // pour voir si la connexion à la bdd marche.
    } catch(PDOException $e) {
        die('Erreur de connexion : ' . $e->getMessage());
    } 
    
    //Récupération "propre" des variables :
    $name = isset($_POST['name'])? $_POST['name'] : NULL;
    $password = isset($_POST['password'])? $_POST['password'] : NULL;
    $pseudo = isset($_POST['pseudo'])? $_POST['pseudo'] : NULL;
    $pwd = isset($_POST['pwd'])? $_POST['pwd'] : NULL;
    $email = isset($_POST['email'])? $_POST['email'] : NULL;
    
    
    if($name && $password){
     //Si les variables $name et $password existent.. alors : Connexion
    
     
    }
    
    if($pseudo && $pwd && $email){
     //Si les variables $pseudo, $pwd  et $email existent.. alors : Inscription
    
     
     
    }
    
    
    ?>
    <!DOCTYPE html>
    <html>
      <head>
        <title>Site</title>
        <meta charset="utf-8">
        <link rel="stylesheet" type="text/css" href="stylee.css">
        
      </head>
      <body>
        <!-- FORMULAIRE CONNEXION -->
        <div style="submit">
          <form class="form-container" action="" method="post">
           <input type="text" placeholder="Pseudo" name="username" value="" style="width: 90px;height: 16px;font-size: 13px;color: #333;margin-left:79%;">
           <input type="password" placeholder="Mot De Passe" name="password" value="" style="width: 90px;height: 16px;font-size: 13px;color: #333;margin-left:0%;">
           <input type="submit" name="submit" value="submit" style="display:none;">
           <button type="submit" id="contact_submit" data-loading-text="•••" 
                   style="font-size: 13px;margin: 4px 0 0px 0; padding: 1px 4px;margin-left:4pxpx; font-family: 'Open Sans', sans-serif; font-weight: bold;" class="btn btn-primary">
                   <i class="icon icon-lock"></i>Connexion
           </button>
          </form>
        </div>
        <!-- FORMULAIRE INSCRIPTION -->
        <div style="submit">
          <form class="form-container" action="" method="post">
            <div class="form-title"><h2>Inscription</h2></div>
            <div class="form-title">Pseudo</div>
            <input class="form-field" type="text" name="pseudo" /><br />
            <div class="form-title">Mot De Passe</div>
            <input class="form-field" type="text" name="pwd" /><br />
            <div class="form-title">Email </div>
            <input class="form-field" type="text" name="email" /><br />
            <center><input type='submit' class='button' name='Inscription' value='Inscription'></center>
          </form>
      </div>
      </body>
    </html>
    
    


    NB: Je te laisse compléter le code en fonction de si c'est pour une inscription ou une connexion.

    Cordialement, 
    Jordane                                                                 
    0
    1. rose2512 Messages postés 450 Statut Membre 7
       
      Il y a marqué Erreur de connexion : could not find driver
      0
    2. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830 > rose2512 Messages postés 450 Statut Membre
       
      Ah...
      Le PDO est activé sur ton serveur ?
      0
    3. rose2512 Messages postés 450 Statut Membre 7
       
      Quel serveur ?
      0
    4. rose2512 Messages postés 450 Statut Membre 7
       
      Le PDO n'était pas activé mais maintenant si et j'ai toujours un message d'erreur mais ce n'ai pas le même voici le message d'erreur : Erreur de connexion : SQLSTATE[28000] [1045] Access denied for user 'root'@'10.2.1.12' (using password: NO)
      0
    5. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830 > rose2512 Messages postés 450 Statut Membre
       
      Donc c'est que le user et le password ne sont pas bons....
      0
  8. rose2512 Messages postés 450 Statut Membre 7
     
    Sa me met index of c'est normal ?
    0
    1. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
       
      Ben ça dépend...ça te le met où ???
      Mais à mon avis non.. ce n'est pas normal !!!!

      Bon.... histoire qu'on puisse avancer..... il va falloir que tu fasses des efforts !!!

      1 - Ton script ... A quel endroit le testes tu ? (soit sur le serveur SOIT en local sur ta machine.... et certainement pas les deux en même temps. !!!!! )

      2 - Quel code utilises tu exactement ?

      3 - Si tu as un message d'erreur ( ..index of par exemple....) il apparait QUAND ? ... et quel est le message d'erreur COMPLET ?


      A mon avis, dans un premier temps, il faudrait tester ton code UNIQUEMENT sur le serveur. (et uniquement là... pas en local hein !!!! )
      Bien entendu... tu auras au préalable modifié les informations de connexion à ta BDD en utilisant les informations fournies par ton hébergeur (hostinger) lors de ton inscription. (nom de la BDD, User name, Password ...)
      Et SEULEMENT APRES on pourra essayer de voir ce qui cloche !
      0
      1. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830 > jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention  
         
        Et OUI ... hostinger propose la PDO :
        http://www.hostinger.fr/base-de-connaissances/235
        0
  9. rose2512 Messages postés 450 Statut Membre 7
     
    1- Maintenant je vais tester sur mon serveur hositnger
    2- J'utilise ce code :
    <?php
    
    //affichage des erreurs php :
    error_reporting(E_ALL);
    
    //Connexion à la BDD
     try{
       $bdd= new PDO('mysql:host=127.0.0.1;dbname=espace_membre', 'root', '');
       $bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
       $bdd->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_OBJ);
       echo "Connexion à la BDD : OK !"; // pour voir si la connexion à la bdd marche.
    } catch(PDOException $e) {
        die('Erreur de connexion : ' . $e->getMessage());
    } 
    
    //Récupération "propre" des variables :
    $name = isset($_POST['name'])? $_POST['name'] : NULL;
    $password = isset($_POST['password'])? $_POST['password'] : NULL;
    $pseudo = isset($_POST['pseudo'])? $_POST['pseudo'] : NULL;
    $pwd = isset($_POST['pwd'])? $_POST['pwd'] : NULL;
    $email = isset($_POST['email'])? $_POST['email'] : NULL;
    
    
    if($name && $password){
     //Si les variables $name et $password existent.. alors : Connexion
    
     
    }
    
    if($pseudo && $pwd && $email){
     //Si les variables $pseudo, $pwd  et $email existent.. alors : Inscription
    
     
     
    }
    
    
    ?>
    <!DOCTYPE html>
    <html>
      <head>
        <title>Site</title>
        <meta charset="utf-8">
        <link rel="stylesheet" type="text/css" href="stylee.css">
        
      </head>
      <body>
        <!-- FORMULAIRE CONNEXION -->
        <div style="submit">
          <form class="form-container" action="" method="post">
           <input type="text" placeholder="Pseudo" name="username" value="" style="width: 90px;height: 16px;font-size: 13px;color: #333;margin-left:79%;">
           <input type="password" placeholder="Mot De Passe" name="password" value="" style="width: 90px;height: 16px;font-size: 13px;color: #333;margin-left:0%;">
           <input type="submit" name="submit" value="submit" style="display:none;">
           <button type="submit" id="contact_submit" data-loading-text="•••" 
                   style="font-size: 13px;margin: 4px 0 0px 0; padding: 1px 4px;margin-left:4pxpx; font-family: 'Open Sans', sans-serif; font-weight: bold;" class="btn btn-primary">
                   <i class="icon icon-lock"></i>Connexion
           </button>
          </form>
        </div>
        <!-- FORMULAIRE INSCRIPTION -->
        <div style="submit">
          <form class="form-container" action="" method="post">
            <div class="form-title"><h2>Inscription</h2></div>
            <div class="form-title">Pseudo</div>
            <input class="form-field" type="text" name="pseudo" /><br />
            <div class="form-title">Mot De Passe</div>
            <input class="form-field" type="text" name="pwd" /><br />
            <div class="form-title">Email </div>
            <input class="form-field" type="text" name="email" /><br />
            <center><input type='submit' class='button' name='Inscription' value='Inscription'></center>
          </form>
      </div>
      </body>
    </html>

    3- Le message Index Of apparait lorsque j'arrive sur mon site

    Quand tu dis " Bien entendu... tu auras au préalable modifié les informations de connexion à ta BDD en utilisant les informations fournies par ton hébergeur (hostinger) lors de ton inscription. (nom de la BDD, User name, Password ...) "
    Il faut que je change mon username, password... ?

    EDIT : Ajout du LANGAGE dans les BALISES DE CODE !
    0
    1. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
       

      Il faut que je change mon username, password... ?

      ....... ..... ....... _ça doit être une caméra cachée........ non ???
      Ton hébergeur (hostinger) t'as normalement fourni les informations nécéssaires pour te connecter à ta base de données....
      Le nom de la BDD
      Le USER à utiliser
      Le PASSWORD à utiliser....

      Donc OUI... tu dois modifier DANS LE SCRIPT, les informations relatives à ta bdd....

      donc dans cette ligne :
      $bdd= new PDO('mysql:host=127.0.0.1;dbname=espace_membre', 'root', '');
      

      Tu remplaces :
      - espace_membre par le nom de la BDD chez HOSTINGER
      - root par le USERNAME fourni par HOSTINGER
      - '' par le PASSWORD fourni par HOSTINGER...

      Est-ce enfin plus clair ?????
      0
    2. rose2512 Messages postés 450 Statut Membre 7
       
      J'avais compris je croyais que tu disais qu'il fallait demander à Hostinger de changer le username...
      Meme en metant le bon username, password... sa ne fonctionne pas
      0
    3. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
       
      Et pour le host ? Tu as essayé en mettant localhost ? A moins que pour ça aussi hostinger t'ai donné autre chose
      0
    4. rose2512 Messages postés 450 Statut Membre 7
       
      non mais le host chez hostinger c'est mysql.hostinger.fr
      0
    5. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
       
      Ben.. donc tu mets ça. ..
      0