Il y a actuellement 583 visiteurs
Vendredi 22 Novembre 2024
accueilactualitésdossierscomparer les prixtélécharger gratuitement vos logicielsoffres d'emploiforum informatique
Connexion
Créer un compte

espace membre PHP

Besoin d'aide pour configurer un serveur ? Vous souhaitez obtenir des conseils pour référencer votre site ? Un petit souci pour accéder à votre FTP ? Des soucis de programmation en PHP / ASP / HTML / XHTML / XML / XSLT / CSS / ReactJS / AngularJS / VueJS / CGI / PERL / C / MySQL / PostgreSQL ??? Nous avons peut-être la solution dans ce forum ...

espace membre PHP

Message le 08 Mar 2014 15:53

Bonjour, sa fais longtemps que j'essaie de faire un espace membre mais sans succès, je bloque au niveau de la connexion.
Mon code :
Code: Tout sélectionner
<?php
require 'sql.php';
if(!empty($_POST)){
        if(!empty($_POST['username']) && !empty($_POST['password'])){
            $username = mysql_real_escape_string(htmlentities(trim($_POST['password'])));
            $password = mysql_real_escape_string(htmlentities(trim(md5(sha1($_POST['password'])))));
            $sql = "SELECT username, password FROM users WHERE username='".$username."'";
            $req = mysql_query($sql);
            $data = mysql_fetch_assoc($req);
            if(!empty($data['username'])){
                if($data['password'] == $password){
                    echo "Connect&eacute; en tant que " . $data['username'];
                }else{
                  echo "Mauvais nom d'utilisateur ou mauvais mot de passe !"; 
                }
            }else{
                echo "Mauvais nom d'utilisateur ou mauvais mot de passe !";
            }
           
}else{
    echo "Tous les champs ne sont pas entr&eacute;s";
}
}
?>
<!DOCTYPE html>
<html>
    <head>
        <title>Page de connexion</title>
    </head>
    <body>
        <form method="post" action="" />
            <center>
        Nom d'utilisateur : <input type="text" name="username" /><br /><br />
        Mot de passe : <input type="password" name="password" /><br /><br />
        <input type="submit" value="Se connecter" />
            </center>
        </form>
    </body>
</html> 

sql.php est le fichier pour stocker les ids pour se connecter à la BDD.
pouvez vous me dire où il y a un problème ?
Merci par avance.
P.S : Dans ma BDD j'ai une colonne username, une colonne password.
geek99
Sous Expert(e)
Sous Expert(e)
 
Messages: 63
Inscription: 10 Nov 2012 15:24
 


Re: espace membre PHP

Message le 08 Mar 2014 21:14

Salut,

Une conseil, oublie mysql_query, passe à PDO. C'est bien plus sécurisé, mysql_query est une vraie passoire.

Ton mot de passe, il est stocké en clair dans la base ?

De plus, cette ligne :
Code: Tout sélectionner
            $data = mysql_fetch_assoc($req);


renvoie un tableau de tableaux. Elle va contenir une liste de lignes de ta base, contenant chacune une liste de colonnes.

Ils faut incrémenter dans ce tableau, pour accéder aux données :

Code: Tout sélectionner
while ($data = mysql_fetch_assoc($req)) {
      //le reste de ton algo...
}
Avatar de l'utilisateur
H3bus
Moderateur
Moderateur
 
Messages: 12195
Inscription: 08 Avr 2008 15:13
Localisation: /home/h3bus
 

Re: espace membre PHP

Message le 09 Mar 2014 12:23

Bonjour, voici le code modifié :
Code: Tout sélectionner
<?php
require 'sql.php';
if(!empty($_POST)){
        if(!empty($_POST['username']) && !empty($_POST['password'])){
            $username = mysql_real_escape_string(htmlentities(trim($_POST['password'])));
            $password = mysql_real_escape_string(htmlentities(trim(md5(sha1($_POST['password'])))));
            $sql = "SELECT username, password FROM users WHERE username='".$username."'";
            $req = mysql_query($sql);
            while($data = mysql_fetch_assoc($req)){;
            if(!empty($data['username'])){
                if($data['password'] == $password){
                    echo "Connect&eacute; en tant que " . $data['username'];
                }else{
                  echo "Mauvais nom d'utilisateur ou mauvais mot de passe !"; 
                }
            }else{
                echo "Mauvais nom d'utilisateur ou mauvais mot de passe !";
            }
            }
           
}else{
    echo "Tous les champs ne sont pas entr&eacute;s";
}
}
?>

Mais lorsque je rentre les ids et que je clique sur le bouton submit cela ne fait rien.
geek99
Sous Expert(e)
Sous Expert(e)
 
Messages: 63
Inscription: 10 Nov 2012 15:24
 

Re: espace membre PHP

Message le 09 Mar 2014 22:38

Re,

Ta balise de formulaire n'est pas correcte :
Code: Tout sélectionner
        <form method="post" action="" />


Doit devenir :
Code: Tout sélectionner
        <form method="post" action="">
Avatar de l'utilisateur
H3bus
Moderateur
Moderateur
 
Messages: 12195
Inscription: 08 Avr 2008 15:13
Localisation: /home/h3bus
 

Re: espace membre PHP

Message le 10 Mar 2014 17:43

Bonjour, C'est bon sa marche enfin, merci beaucoup.
:D :D :D :) :) :)
geek99
Sous Expert(e)
Sous Expert(e)
 
Messages: 63
Inscription: 10 Nov 2012 15:24
 

Re: espace membre PHP

Message le 10 Mar 2014 22:51

Pas de souci, n'hésite pas à repasser si tu as besoin d'aide.

Tu as de très bon tutos PHP pour débutant sur openclassrooms.com (le site est down à l'heure actuelle, mais n'hésite pas à réessayer plus tard).

Bonne soirée :wink:
Avatar de l'utilisateur
H3bus
Moderateur
Moderateur
 
Messages: 12195
Inscription: 08 Avr 2008 15:13
Localisation: /home/h3bus
 

Re: espace membre PHP

Message le 11 Mar 2014 08:54

Mais juste à quelle est la différence entre mysql_fetch_assoc ou mysql_fetch_array et mysql_num_rows ?
geek99
Sous Expert(e)
Sous Expert(e)
 
Messages: 63
Inscription: 10 Nov 2012 15:24
 

Re: espace membre PHP

Message le 11 Mar 2014 10:05

Je le répète, c'est fonctions sont obsolètes.

Je t'invite à regarder PDO de plus près.

Sinon :

mysql_fetch_assoc : Retourne les resultats sous forme de tableau associatif par numéro de colnne ($row[0], etc...)
mysql_fetch_array : Retourne les resultats sous forme de tableau associatif par nom de colnne ($row['name'], etc...)
mysql_num_rows : ne retourne que le numbre de lignes affectées par ta requète.
Avatar de l'utilisateur
H3bus
Moderateur
Moderateur
 
Messages: 12195
Inscription: 08 Avr 2008 15:13
Localisation: /home/h3bus
 



Sujets similaires

Message PLus d'espace
Bonjour,Je n'ai toujours plus de place sur mon disque dur principal et j'aimerais savoir si c'est possible d'en récupérer alors que je n'installe plus rien dessus depuis X temps.Merci d'avance pour vos messages
Réponses: 16

Message Clé usb détecter et afficher mes pas son espace de stockage
Bonjour, j'ai un problème, j'ai une clé usb qui est détecter et afficher dans l'explorateur de fichier mais son espace de stockage n'est pas afficher ni dans l'explorateur de fichier ni dans la gestion des disquesQuelqu'un peut-il m'aider a résoudre ce problème svp ?
Réponses: 2

Message espace de stockage faible
Bonjour,J'ai un ami qui possède un mobile ' "Alcatel modèle 5008 D" et depuis quelques jours, il a une fenêtre qui s'ouvre "espace de stockage faible" qui l'empêche de l'utiliser normalement et donc de pouvoir sauvegarder le contenu.Le stockage n'est que de 16 go et il n'a pas d ...
Réponses: 4

Message probleme espace disque dur C
Bonjourje suis sous Windows 11 , j'ai un problème d'espace sur disque C , celui ci augmente quand je supprimé des fichier de mon disque dur externe ,même en vidant la corbeille MErci
Réponses: 3

Message [Réglé] problème d'espace disque dur
Bonjour j'ai un nouveau pc dell sur mon disque C je vois qu'il a utilisé presque la moitie du disque alors que j'ai pratiquement rien installer merci de m'aider voici une image sur les espaces occupés : https://www.cjoint.com/c/KLkumPhfkmL https://www.cjoint.com/c/KLkutTM478L
Réponses: 4

Message nouveau membre
Bonjour Bienvenue à tous les nouveaux membres comme moi
Réponses: 3

Message [Réglé] Espace disque inssufisant
Salut,Tout est nickel j'ai suivis tes conseils a la lettre et la mise a jour c'est faite correctement !Merci !Bonne journée
Réponses: 5


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 7 invités


.: Nous contacter :: Flux RSS :: Données personnelles :.