PHP PDO

Résolu
Bonjour,

j'ai vraiment besoin de votre aide ! Si quelqu'un pouvait m'aider ça serait super. Alors je dois réaliser un genre de "site" en php que j'ai fini de créer mais petit problème: je dois effectuer la connexion en PDO ! Ce que je n'ait jamais vu auparavant avant, et que je n'ait pas le temps de voir car je dois rendre ce travail dans les jours qui arrivent. J'ai beaucoup cherché au début c'est vrai, j'ai réalisé une connexion en PDO mais ma connexion ne marche plus du tout ! On ma dit de changer toute les requêtes mysql, je ne voit pas du tout quoi remplacer par quoi... Je me tourne donc vers vous, quelqu'un pourrait-il regarder mes fichiers ?

6 réponses

  1. Génial ! j'ai réussi ça marche :D Merci beaucoup à vous tous !
    0
    1. tien, c'est le code que j'utilise toujours pour me connecter à une base de donné, il et simple et facile à modifier:

      
      <?php  
      try
      {
          $pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
          $bdd = new PDO('mysql:host=TON_HOST;dbname=TA_BDD', 'TON_NOM_UTILISATEUR', 'TON_MOT_DE_PASSE', $pdo_options);
          $reponse = $bdd->query('SELECT * FROM ta_table');
      
      
      
      
      
      
         //tu met TOUT CE QUI VIEN DE TA BDD dans while comme ceci:
          
      while ($donnees = $reponse->fetch()){
             $donnees["le_nom_du_champ_de_ta_table"];
      }
      
      //si tu n'a pas besoin des données de ta bdd, tu peux continuer après le while
      
      
      
      
      
      
      
      $reponse->closeCursor(); 
      
      }
      catch(Exception $e)
      {
          die('Erreur : '.$e->getMessage());
      }
      ?>
      
      
      0
      1. Mercii ! Je vais y jeter un coup d'oeil en espérons que ça m'avance :)
        0
        1. Je me suis bien aidé de ce site, super sympa par ailleurs, mais ça ne marche toujours pas. Je ne peux pas télécharger mes fichiers ici donc j'écris mon code ici. Je n'arrive pas à me connecter.

          Tout d'abord j'ai un fichier config.php :

          <?php

          $PARAM_hote='localhost'; // le chemin vers le serveur
          $PARAM_bdd='GSB'; // le nom de votre base de données
          $PARAM_user='root'; // nom d'utilisateur pour se connecter
          $PARAM_mdp=''; // mot de passe de l'utilisateur pour se connecter

          try
          {

          //On demarre les sessions
          session_start();

          /******************************************************
          ----------------Configuration Obligatoire--------------
          Veuillez modifier les variables ci-dessous pour que l'
          espace membre puisse fonctionner correctement.
          ******************************************************/

          //On se connecte a la base de donnee
          $connexion = new PDO('mysql:host='.$PARAM_hote.';dbname='.$PARAM_bdd, $PARAM_user, $PARAM_mdp);

          //Email du webmaster
          $mail_webmaster = 'example@example.com';

          //Adresse du dossier de la top site
          $url_root = 'http://www.example.com/';

          /******************************************************
          ----------------Configuration Optionelle---------------
          ******************************************************/

          //Nom du fichier de laccueil
          $url_home = 'index.php';

          //Nom du design
          //$design = 'default';
          }
          catch(Exception $e)
          {
          echo 'Une erreur est survenue !';
          die();
          }
          ?>

          Puis j'ai mon fichier connexion.php :

          <?php
          include('config.php');
          ?>

          <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
          <html xmlns="http://www.w3.org/1999/xhtml">
          <head>
          <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
          <link href="CSS/style.css" rel="stylesheet" title="Style" />
          <title>Connexion</title>
          </head>

          <body>
          <div id="conteneur">
          <a href="index.php"><h1 id="header"></h1></a>
          <ul id="menu">
          <li id="bouton"><a href="index.php">Accueil</a></li>
          <li id="bouton"><a href="news.php">News</a></li>
          <li id="bouton"><a href="newsletter.php">Newsletter</a></li>
          </ul>

          <?php
          //Si lutilisateur est connecte, on le deconecte
          if(isset($_SESSION['username']))
          {
          //On le deconecte en supprimant simplement les sessions username et userid
          unset($_SESSION['username'], $_SESSION['userid']);
          ?>
          <div style="text-align:center;" class="message">Vous avez bien été déconnecté.<br />
          </div>
          <meta http-equiv="Refresh" content="2;URL=index.php">
          <?php
          }
          else
          {
          $ousername = '';
          //On verifie si le formulaire a ete envoye
          if(isset($_POST['username'], $_POST['password']))
          {
          //On echappe les variables pour pouvoir les mettre dans des requetes SQL
          if(get_magic_quotes_gpc())
          {
          $ousername = stripslashes($_POST['username']);
          $username = mysql_real_escape_string(stripslashes($_POST['username']));
          $password = stripslashes($_POST['password']);
          }
          else
          {
          $username = mysql_real_escape_string($_POST['username']);
          $password = $_POST['password'];
          }
          //On recupere le mot de passe de lutilisateur
          $req =$connexion->query('select password,id_admin from administrateur where username="'.$username.'"');

          $dn =$req->setFetchMode(PDO::FETCH_OBJ); // on dit qu'on veut que le résultat soit récupérable sous forme d'objet

          //On le compare a celui quil a entre et on verifie si le membre existe
          if($dn['password']==$password and mysql_num_rows($req)>0)
          {
          //Si le mot de passe es bon, on ne vas pas afficher le formulaire
          $form = false;
          //On enregistre son pseudo dans la session username et son identifiant dans la session userid
          $_SESSION['username'] = $_POST['username'];
          $_SESSION['userid'] = $dn['id_admin'];
          ?>
          <div style="text-align:center;" class="message">Vous avez bien été connecté. Vous pouvez accéder aux créations de news et newsletter.<br /><br />
          </div>
          <meta http-equiv="Refresh" content="2;URL=index.php">
          <?php
          }
          else
          {
          //Sinon, on indique que la combinaison nest pas bonne
          $form = true;
          $message = 'La combinaison que vous avez entré n\'est pas bonne.';
          }
          }
          else
          {
          $form = true;
          }
          if($form)
          {
          //On affiche un message sil y a lieu
          if(isset($message))
          {
          echo '<div style="text-align:center;" class="message">'.$message.'</div><br />';
          }
          //On affiche le formulaire
          ?>
          <div style="text-align:center;" class="content">
          <form action="connexion.php" method="post">

          Veuillez entrer vos identifiants pour vous connecter:<br /><br />
          <center>
          <table>
          <tr>
          <td>
          <label for="username">Nom d'utilisateur:</label></td><td><input type="text" name="username" id="username" value="<?php echo htmlentities($ousername, ENT_QUOTES, 'UTF-8'); ?>" /><br />
          </td>
          </tr>
          <tr>
          <td>
          <label for="password">Mot de passe:</label></td><td><input type="password" name="password" id="password" /><br />
          </td>
          </tr>
          </table>
          </center><br />
          <input type="submit" value="Connexion" />

          </form>
          </div>
          <?php
          }
          }
          ?>

          </div>
          </body>
          </html>
          0