Problème MYSQL [Fermé]

Signaler
Messages postés
418
Date d'inscription
dimanche 15 février 2015
Statut
Membre
Dernière intervention
10 novembre 2020
-
Messages postés
418
Date d'inscription
dimanche 15 février 2015
Statut
Membre
Dernière intervention
10 novembre 2020
-
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...
Messages postés
32433
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
12 mai 2021
3 481
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 !



Messages postés
418
Date d'inscription
dimanche 15 février 2015
Statut
Membre
Dernière intervention
10 novembre 2020
3
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.
Messages postés
32433
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
12 mai 2021
3 481 >
Messages postés
418
Date d'inscription
dimanche 15 février 2015
Statut
Membre
Dernière intervention
10 novembre 2020

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.....
Messages postés
32433
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
12 mai 2021
3 481 >
Messages postés
32433
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
12 mai 2021

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 ?
Messages postés
418
Date d'inscription
dimanche 15 février 2015
Statut
Membre
Dernière intervention
10 novembre 2020
3
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());
}
Messages postés
32433
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
12 mai 2021
3 481 >
Messages postés
418
Date d'inscription
dimanche 15 février 2015
Statut
Membre
Dernière intervention
10 novembre 2020

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
Messages postés
418
Date d'inscription
dimanche 15 février 2015
Statut
Membre
Dernière intervention
10 novembre 2020
3
je bosse sur ça file:///C:/Users/******/Dossier/Code/index.html
Messages postés
32433
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
12 mai 2021
3 481 >
Messages postés
32433
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
12 mai 2021

Nb2: en plus de tout ça. . renomme ton fichier en .php au lieu de .html
Messages postés
418
Date d'inscription
dimanche 15 février 2015
Statut
Membre
Dernière intervention
10 novembre 2020
3
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 ?
Messages postés
418
Date d'inscription
dimanche 15 février 2015
Statut
Membre
Dernière intervention
10 novembre 2020
3
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 ?
Messages postés
31834
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
12 mai 2021
7 645 >
Messages postés
418
Date d'inscription
dimanche 15 février 2015
Statut
Membre
Dernière intervention
10 novembre 2020

Voilà la réponse : index.html comme indiqué plus haut par jordane45

Pour être interprété par le moteur php, le source doit avoir un suffixe .php

Et jamais tu ne peux tester ton php en local si tu n'a pas un serveur web (apache), un moteur php et une bdd sur ton pc. Donc tout un package du genre wamp.
Messages postés
418
Date d'inscription
dimanche 15 février 2015
Statut
Membre
Dernière intervention
10 novembre 2020
3
Mais peut-on tester son PHP en le mettant en FTP sur son site ? sans utiliser de logiciel pour tester en local
Messages postés
418
Date d'inscription
dimanche 15 février 2015
Statut
Membre
Dernière intervention
10 novembre 2020
3
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 ?
Messages postés
32433
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
12 mai 2021
3 481

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.
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.
Messages postés
418
Date d'inscription
dimanche 15 février 2015
Statut
Membre
Dernière intervention
10 novembre 2020
3
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());
}

Messages postés
32433
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
12 mai 2021
3 481
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.
Messages postés
418
Date d'inscription
dimanche 15 février 2015
Statut
Membre
Dernière intervention
10 novembre 2020
3
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
Messages postés
32433
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
12 mai 2021
3 481 >
Messages postés
418
Date d'inscription
dimanche 15 février 2015
Statut
Membre
Dernière intervention
10 novembre 2020

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...
Messages postés
418
Date d'inscription
dimanche 15 février 2015
Statut
Membre
Dernière intervention
10 novembre 2020
3
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 ?
Messages postés
32433
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
12 mai 2021
3 481
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                                                                 
Messages postés
32433
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
12 mai 2021
3 481 >
Messages postés
418
Date d'inscription
dimanche 15 février 2015
Statut
Membre
Dernière intervention
10 novembre 2020

Tu parviens à te connecter à ton phpmyadmin en direct ?
En utilisant le login root ?
Messages postés
418
Date d'inscription
dimanche 15 février 2015
Statut
Membre
Dernière intervention
10 novembre 2020
3
mon seurveur c'est hositnger
Messages postés
32433
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
12 mai 2021
3 481 >
Messages postés
418
Date d'inscription
dimanche 15 février 2015
Statut
Membre
Dernière intervention
10 novembre 2020

Heu... tu es en LOCAL ou sur HOSTINGER ????????????????
Faudrait savoir ......

Si c'est sur Hostinger... je ne pense pas que le user soit "root" ..... ils ont du te fournir des identifiants... c'est ceux-la que tu dois utiliser !
Messages postés
418
Date d'inscription
dimanche 15 février 2015
Statut
Membre
Dernière intervention
10 novembre 2020
3
En faite j'essaie les deux. Mais je ne sais spas si j'ai PDO sur hostinger
Mais en faite il faut mettre quoi exactement à la place de "dbname" et de "root" et de "" ?
Messages postés
32433
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
12 mai 2021
3 481 >
Messages postés
418
Date d'inscription
dimanche 15 février 2015
Statut
Membre
Dernière intervention
10 novembre 2020

il faut mettre quoi exactement à la place de "dbname" et de "root" et de "" ?

DB_NAME = Le nom de ta BDD
ROOT = TOn USERNAME
? : Ton PASSWORD...

QUI SONT DIFFERENTS si tu es en LOCAL sur ton PC ou SUR ton HEBERGEUR WEB
Messages postés
418
Date d'inscription
dimanche 15 février 2015
Statut
Membre
Dernière intervention
10 novembre 2020
3
Sa me met index of c'est normal ?
Messages postés
32433
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
12 mai 2021
3 481
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 !
Messages postés
32433
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
12 mai 2021
3 481 >
Messages postés
32433
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
12 mai 2021

Et OUI ... hostinger propose la PDO :
http://www.hostinger.fr/base-de-connaissances/235
Messages postés
418
Date d'inscription
dimanche 15 février 2015
Statut
Membre
Dernière intervention
10 novembre 2020
3
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 !
Messages postés
32433
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
12 mai 2021
3 481
Et pour le host ? Tu as essayé en mettant localhost ? A moins que pour ça aussi hostinger t'ai donné autre chose
Messages postés
418
Date d'inscription
dimanche 15 février 2015
Statut
Membre
Dernière intervention
10 novembre 2020
3
non mais le host chez hostinger c'est mysql.hostinger.fr
Messages postés
32433
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
12 mai 2021
3 481
Ben.. donc tu mets ça. ..
Messages postés
418
Date d'inscription
dimanche 15 février 2015
Statut
Membre
Dernière intervention
10 novembre 2020
3
Ben j'ai toujours mis ça comme host sur mon serveur... sinon quand j'été en local je mettais localhost....
Mais meme en metant mysql.hostinger.fr sa ne fonctionne pas
Messages postés
418
Date d'inscription
dimanche 15 février 2015
Statut
Membre
Dernière intervention
10 novembre 2020
3
On peut m'aider ?