Il y a actuellement 70 visiteurs
Lundi 02 Août 2021
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
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...
}
En cas de problème constaté sur un sujet, contactez un modérateur par MP. N'intervenez pas vous-même. Merci bien.
Aucune aide ni support ne sera fourni par MP.
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
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="">
En cas de problème constaté sur un sujet, contactez un modérateur par MP. N'intervenez pas vous-même. Merci bien.
Aucune aide ni support ne sera fourni par MP.
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
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:
En cas de problème constaté sur un sujet, contactez un modérateur par MP. N'intervenez pas vous-même. Merci bien.
Aucune aide ni support ne sera fourni par MP.
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
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.
En cas de problème constaté sur un sujet, contactez un modérateur par MP. N'intervenez pas vous-même. Merci bien.
Aucune aide ni support ne sera fourni par MP.
Avatar de l'utilisateur
H3bus
Moderateur
Moderateur
 
Messages: 12195
Inscription: 08 Avr 2008 15:13
Localisation: /home/h3bus
 



Sujets similaires

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

Message Espace disponible sur disque G
Bonjour J'ai mon pc "Tour" qui m'indique que l'espace disponible est de 6.79 mo sur 931go comment faire pour libérer l'espace Merci
Réponses: 4

Message [réglé] Espace disque C
Bonjour,J'ai l'impression que plus ça va plus mon disque dur se remplit alors que j'ai quasiment rien dessus installé. Les mises a jour Windows a force ne pourront plus se faire Une petite solution ?Merci d'avance pour votre aide !
Réponses: 10

Message libérer de l'espace disque
Bonsoir a tous, pour libérer de la place sur le disque C, j'ai exécuté le nettoyage de disque et trouvé 3,78 GO du fichier d' optimisation de livraison, qui servent, je crois pour les mises à jour.Es que je peux les supprimer sans avoir de soucis pour les ultérieures mise à jour de Window update ou ...
Réponses: 2

Message [Résolu] Ctrl , flèche et espace inactif
Bonjour, avant pour sélectionner des fichiers éparpillés dans un dossier , je sélectionnais d'abord 1 fichier avec la souris , puis avec la flèche droite du clavier j'appuyais pour faire défiler le carré bleu ( en ayant la touche ctrl enfoncée en permanence ) , et j'appuyais sur espace pour sélectio ...
Réponses: 5

Message Libérer de l'espace sur mon SSD
BonjourJ'aimerais faire de la place sur mon SSD (:C) et tout transférer (sauf mon windows, pour que ca aille plus vite) sur mon autre disque (:D) http://hpics.li/c0be95dLe problème c'est que j'arrive pas à couper/coller les dossiers du disque (:C) à mon disque (:D).Je voulais savoir si quelqu'un pou ...
Réponses: 3

Message Problème espace de stockage (pool de stockage)
Bonsoir,Depuis quelques jours j'ai ce message qui s'affiche dans mon centre de maintenance : Je ne m'y connais pas trop, et j'ai modifié la capacité maximal de stockage par 10 To à la place de 2,72 To pour voir et se que sa faisait mais sa n'a rien changé, à pars le nombre de mon stockage maximal : ...
Réponses: 4


Qui est en ligne

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


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