PHP PDO

Résolu
izangard_sda Messages postés 17 Date d'inscription   Statut Membre Dernière intervention   -  
izangard_sda Messages postés 17 Date d'inscription   Statut Membre Dernière intervention   -
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. izangard_sda Messages postés 17 Date d'inscription   Statut Membre Dernière intervention  
     
    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
  2. izangard_sda Messages postés 17 Date d'inscription   Statut Membre Dernière intervention  
     
    Mercii ! Je vais y jeter un coup d'oeil en espérons que ça m'avance :)
    0
  3. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  4. dannydouby Messages postés 178 Statut Membre 6
     
    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
  5. izangard_sda Messages postés 17 Date d'inscription   Statut Membre Dernière intervention  
     
    Génial ! j'ai réussi ça marche :D Merci beaucoup à vous tous !
    0