IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Sortie avec MySQL


Sujet :

PHP & Base de données

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Collégien
    Inscrit en
    Février 2015
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : Février 2015
    Messages : 10
    Points : 7
    Points
    7
    Par défaut Sortie avec MySQL
    Bonjour,

    J'ai deux problèmes depuis que j'ai mis mon site en ligne.

    Le premier est quand je me connecte au site, il fait une vérification des données dans la base de données, mais ne les affecte pas aux variables de session.

    Le deuxième problème est le fait que je n'arrive pas à faire des insertions dans ma base de données.

    Pour ce qui est de l'affichage des résultats, il n'y a pas de problèmes.

    Je n'ai pas modifié le code avant la mise en ligne, sauf pour mettre les informations de connexion à la base de données.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    <?php session_start();?>
    <?php if($_POST['connexionAuto']){setcookie('pseudo', $_POST['identifiant'], time() + 365*24*3600,'/', FALSE, FALSE);} ?>
     
     
    <?php
     
        try{$bdd=new PDO('mysql:host=*******;dbname=*******;charset=utf8','********','*******', array(PDO::ATTR_ERRMODE=>PDO::ERRMODE_EXCEPTION));}
        catch(Exception $e){die('Erreur :'.$e->getMessage());}
     
        // Hachage du mot de passe
        $pass_hache = sha1($_POST['password']);
     
        // Vérification des identifiants
        $req = $bdd->prepare('SELECT id FROM espace_membres WHERE pseudo = :pseudo AND pass = :password');
        $req->execute(array(
            'pseudo' =>htmlspecialchars( $_POST['identifiant']),
            'password' => $pass_hache));
     
     
        if($_POST['connexionAuto']){setcookie('Pcrypt', $pass_hache, time() + 365*24*3600,'/', FALSE, FALSE);}
     
     
        $resultat = $req->fetch();
     
     
        if (!$resultat)
        {
            echo "<script>location='/parametresErreur.php'</script>";
     
        }
        else
        {
     
            $_SESSION['id'] = $resultat['id'];
            $_SESSION['pseudo'] = $_POST['identifiant'];
           echo "<script>location='/parametres.php'</script>";
        }
    Merci pour votre aide, elle est grandement appréciée.

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Le htmlspecialchars() n'a rien à faire dans une base de données.
    Tu as contrôlé si tu tombais dans le if ou dans le else du test ligne 26 ?

    Concernant tes problèmes d'insertion, il faut nous en dire un peu plus.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Collégien
    Inscrit en
    Février 2015
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : Février 2015
    Messages : 10
    Points : 7
    Points
    7
    Par défaut
    Bonjour Sabotage et merci pour ta réponse,

    Mon htmlspecialchar est au cas ou une personne insère un script dans son pseudo, il ne pourra avoir effet sur le site une fois que je fais une requête pour faire afficher le pseudo ultérieument, corriger moi si je me trompe.

    Et en réponse à la question, je tombe dans la partie else.

    Merci encore

    Pour le htmlspecialchar je n'avais pas pensé que ce n’était pas une insertion désolée

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     
    // Contrôle 
     
    // Insertion
    			$req = $bdd->prepare('INSERT INTO espace_membres(pseudo, pass, email, date_inscription) VALUES(:pseudo, :password, :email, now())');
    			$req->execute(array('pseudo' => $pseudo,'password' => $pass_hache,'email' => $email));

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Pour le htmlspecialchars il faut le mettre quand tu affiches les données.

    pour les requêtes préparées, mets les : ils sont obligatoires sur certaines versions.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $req->execute(array(':pseudo' => $pseudo,':password' => $pass_hache,':email' => $email));
    Pour tes redirections, utilise header('Location: .....'); plutôt que de mettre du javascript.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Collégien
    Inscrit en
    Février 2015
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : Février 2015
    Messages : 10
    Points : 7
    Points
    7
    Par défaut
    Merci pour l'insertion numéro 1 ca fonctionne, mais l'affectation de la variable session n'est pas effectué.

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    De quelle manière fais-tu la vérification ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Collégien
    Inscrit en
    Février 2015
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : Février 2015
    Messages : 10
    Points : 7
    Points
    7
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <?php if (isset($_SESSION['pseudo'])){ echo $_SESSION['pseudo']; } ?>

  8. #8
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    C'est pas du debugage ça dialo !
    et n'oublie pas le session_start();
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  9. #9
    Futur Membre du Club
    Homme Profil pro
    Collégien
    Inscrit en
    Février 2015
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : Février 2015
    Messages : 10
    Points : 7
    Points
    7
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <?php 
    if (isset($_SESSION['id']) AND isset($_SESSION['pseudo']))
    { ?>

  10. #10
    Futur Membre du Club
    Homme Profil pro
    Collégien
    Inscrit en
    Février 2015
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : Février 2015
    Messages : 10
    Points : 7
    Points
    7
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var_dump($_SESSION); = array(0) { }

  11. #11
    Futur Membre du Club
    Homme Profil pro
    Collégien
    Inscrit en
    Février 2015
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : Février 2015
    Messages : 10
    Points : 7
    Points
    7
    Par défaut
    Ma session est activée en début de chaque page.

Discussions similaires

  1. Modification d'une base Access avec MySQL
    Par Wyatt dans le forum Administration
    Réponses: 2
    Dernier message: 07/01/2005, 19h20
  2. pb format datetime avec mysql
    Par ms91fr dans le forum Bases de données
    Réponses: 2
    Dernier message: 07/12/2004, 14h12
  3. Help ODBC avec Mysql
    Par Ashura75013 dans le forum Bases de données
    Réponses: 3
    Dernier message: 17/02/2004, 08h11
  4. Probleme avec Mysql
    Par kevinss dans le forum Administration
    Réponses: 5
    Dernier message: 31/10/2003, 10h43
  5. Problème d'insertion avec MySQL
    Par Sonny dans le forum ASP
    Réponses: 13
    Dernier message: 28/08/2003, 13h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo