Problème MYSQL

Fermé
rose2512 Messages postés 429 Date d'inscription dimanche 15 février 2015 Statut Membre Dernière intervention 12 juillet 2021 - Modifié par jordane45 le 4/06/2016 à 19:18
rose2512 Messages postés 429 Date d'inscription dimanche 15 février 2015 Statut Membre Dernière intervention 12 juillet 2021 - 30 juin 2016 à 18:53
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

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
jordane45 Messages postés 38358 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 28 décembre 2024 4 719
4 juin 2016 à 19:34
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
rose2512 Messages postés 429 Date d'inscription dimanche 15 février 2015 Statut Membre Dernière intervention 12 juillet 2021 7
Modifié par jordane45 le 10/06/2016 à 19:09
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
jordane45 Messages postés 38358 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 28 décembre 2024 4 719 > rose2512 Messages postés 429 Date d'inscription dimanche 15 février 2015 Statut Membre Dernière intervention 12 juillet 2021
Modifié par jordane45 le 10/06/2016 à 19:14
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
jordane45 Messages postés 38358 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 28 décembre 2024 4 719 > jordane45 Messages postés 38358 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 28 décembre 2024
10 juin 2016 à 19:15
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
rose2512 Messages postés 429 Date d'inscription dimanche 15 février 2015 Statut Membre Dernière intervention 12 juillet 2021 7
12 juin 2016 à 12:18
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
jordane45 Messages postés 38358 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 28 décembre 2024 4 719 > rose2512 Messages postés 429 Date d'inscription dimanche 15 février 2015 Statut Membre Dernière intervention 12 juillet 2021
12 juin 2016 à 12:22
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
rose2512 Messages postés 429 Date d'inscription dimanche 15 février 2015 Statut Membre Dernière intervention 12 juillet 2021 7
Modifié par rose2512 le 12/06/2016 à 12:26
je bosse sur ça file:///C:/Users/******/Dossier/Code/index.html
0
rose2512 Messages postés 429 Date d'inscription dimanche 15 février 2015 Statut Membre Dernière intervention 12 juillet 2021 7
12 juin 2016 à 12:28
Si c'est des lignes de codes comment faire pour qu'elles disparaisent du site ?
0
jordane45 Messages postés 38358 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 28 décembre 2024 4 719 > rose2512 Messages postés 429 Date d'inscription dimanche 15 février 2015 Statut Membre Dernière intervention 12 juillet 2021
12 juin 2016 à 12:34
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
jordane45 Messages postés 38358 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 28 décembre 2024 4 719 > jordane45 Messages postés 38358 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 28 décembre 2024
12 juin 2016 à 12:35
Nb: si tu réponds non a une de ces questions. .. impossible d'utiliser du php.
0
rose2512 Messages postés 429 Date d'inscription dimanche 15 février 2015 Statut Membre Dernière intervention 12 juillet 2021 7
Modifié par rose2512 le 12/06/2016 à 12:39
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
jordane45 Messages postés 38358 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 28 décembre 2024 4 719 > jordane45 Messages postés 38358 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 28 décembre 2024
12 juin 2016 à 12:36
Nb2: en plus de tout ça. . renomme ton fichier en .php au lieu de .html
0
rose2512 Messages postés 429 Date d'inscription dimanche 15 février 2015 Statut Membre Dernière intervention 12 juillet 2021 7
12 juin 2016 à 15:16
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
jordane45 Messages postés 38358 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 28 décembre 2024 4 719
12 juin 2016 à 17:05

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
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
rose2512 Messages postés 429 Date d'inscription dimanche 15 février 2015 Statut Membre Dernière intervention 12 juillet 2021 7
Modifié par rose2512 le 12/06/2016 à 20:01
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
jordane45 Messages postés 38358 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 28 décembre 2024 4 719
12 juin 2016 à 19:32
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
rose2512 Messages postés 429 Date d'inscription dimanche 15 février 2015 Statut Membre Dernière intervention 12 juillet 2021 7
Modifié par rose2512 le 12/06/2016 à 20:01
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
jordane45 Messages postés 38358 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 28 décembre 2024 4 719 > rose2512 Messages postés 429 Date d'inscription dimanche 15 février 2015 Statut Membre Dernière intervention 12 juillet 2021
Modifié par jordane45 le 13/06/2016 à 01:46
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
rose2512 Messages postés 429 Date d'inscription dimanche 15 février 2015 Statut Membre Dernière intervention 12 juillet 2021 7
13 juin 2016 à 19:32
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
jordane45 Messages postés 38358 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 28 décembre 2024 4 719
Modifié par jordane45 le 13/06/2016 à 22:16
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
rose2512 Messages postés 429 Date d'inscription dimanche 15 février 2015 Statut Membre Dernière intervention 12 juillet 2021 7
14 juin 2016 à 18:30
Il y a marqué Erreur de connexion : could not find driver
0
jordane45 Messages postés 38358 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 28 décembre 2024 4 719 > rose2512 Messages postés 429 Date d'inscription dimanche 15 février 2015 Statut Membre Dernière intervention 12 juillet 2021
14 juin 2016 à 18:35
Ah...
Le PDO est activé sur ton serveur ?
0
rose2512 Messages postés 429 Date d'inscription dimanche 15 février 2015 Statut Membre Dernière intervention 12 juillet 2021 7
14 juin 2016 à 19:35
Quel serveur ?
0
rose2512 Messages postés 429 Date d'inscription dimanche 15 février 2015 Statut Membre Dernière intervention 12 juillet 2021 7
Modifié par rose2512 le 18/06/2016 à 11:38
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
jordane45 Messages postés 38358 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 28 décembre 2024 4 719 > rose2512 Messages postés 429 Date d'inscription dimanche 15 février 2015 Statut Membre Dernière intervention 12 juillet 2021
18 juin 2016 à 12:39
Donc c'est que le user et le password ne sont pas bons....
0
rose2512 Messages postés 429 Date d'inscription dimanche 15 février 2015 Statut Membre Dernière intervention 12 juillet 2021 7
21 juin 2016 à 18:12
Sa me met index of c'est normal ?
0
jordane45 Messages postés 38358 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 28 décembre 2024 4 719
21 juin 2016 à 20:46
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
jordane45 Messages postés 38358 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 28 décembre 2024 4 719 > jordane45 Messages postés 38358 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 28 décembre 2024
21 juin 2016 à 20:47
Et OUI ... hostinger propose la PDO :
http://www.hostinger.fr/base-de-connaissances/235
0
rose2512 Messages postés 429 Date d'inscription dimanche 15 février 2015 Statut Membre Dernière intervention 12 juillet 2021 7
Modifié par jordane45 le 22/06/2016 à 15:16
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
jordane45 Messages postés 38358 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 28 décembre 2024 4 719
22 juin 2016 à 15:19

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
rose2512 Messages postés 429 Date d'inscription dimanche 15 février 2015 Statut Membre Dernière intervention 12 juillet 2021 7
Modifié par rose2512 le 22/06/2016 à 18:13
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
jordane45 Messages postés 38358 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 28 décembre 2024 4 719
22 juin 2016 à 20:15
Et pour le host ? Tu as essayé en mettant localhost ? A moins que pour ça aussi hostinger t'ai donné autre chose
0
rose2512 Messages postés 429 Date d'inscription dimanche 15 février 2015 Statut Membre Dernière intervention 12 juillet 2021 7
Modifié par rose2512 le 23/06/2016 à 11:48
non mais le host chez hostinger c'est mysql.hostinger.fr
0
jordane45 Messages postés 38358 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 28 décembre 2024 4 719
23 juin 2016 à 12:40
Ben.. donc tu mets ça. ..
0