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

Langage PHP Discussion :

creer un espace membre


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2018
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2018
    Messages : 11
    Par défaut creer un espace membre
    bonjour j'ai entraine de créer un espace membre , donc il y a trois objectif a faire
    le premier: faire une page pour inscription et créer une table dans la base de donnée
    2e : une page pour connexion et vérifier les pseudo est ce que déjà enregistré dans la table .
    3e: une page pour déconnexion

    j'ai déjà fait la page d'inscription et connexion , mais il fonctionne pas , tous les entrées que j'ai met pour l'inscription qui n'a pas enregistre dans la table ... je ne trouves pas la raison de dysfonctionnement ... j'ai besoin de votre aides ... svp ...

    voici le fichier inscription.php
    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
    38
    39
    40
    41
    42
    43
    44
    45
     
    <!DOCTYPE html>
    <html>
     
    	<head>
    		<meta charset="utf-8">
    		<title>inscription</title>
    		<link rel="stylesheet" type="text/css" href="style.css">
    	</head>
     
    	<body>
    		<div class="inscription">
    			<h1>Créer un compte</h1>
    			<form method="post" action="inscription_post.php">
    				<p>
    					<h3>Mes coordonnées</h3>
    					<input type="radio" name="sexe" value="monsieur" id="monsieur" />
    					<label for="monsieur">Monsieur</label>
     
     
    					<input type="radio" name="sexe" value="madame" id="madame" />
    					<label for="madame">Madame</label>
    					<br /> 
     
    					<label for="pseudo">Pseudo:</label>
    					<input type="text" name="pseudo" id="pseudo" />
    					<br />
     
    					<label for="pass">Mot de passe:</label>
    					<input type="password" name="pass" id="pass" />
    					<br />
     
    					<label for="pass_verif">Retapez votre mot de passe:</label>
    					<input type="password" name="pass_verif" id="pass_verif">
    					<br />
     
    					<label for="email">E-mail:</label>
    					<input type="email" name="email">
    					<br />
     
    					<input type="submit" name="valider" value="Créer mon compte">
    				</p>
    			</form>
    	</body>
    </html>
    voici inscription_post.php
    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
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    <?php
    	try	
    		{
    			$bdd = new PDO('mysql:host=localhost;dbname=test;charset=utf8','root','root',array(PDO::ATTR_ERRMODE => PDO::ERRMODE_WARNING));
    		} 
    		catch(PDOException $e)
    		{
    			echo 'Erreur :' .$e->getMessage();				
    		}
     
    	if (isset($_POST['pseudo']) && isset($_POST['pass']) && isset($_POST['pass_verif']) && isset($_POST['email'])) 
    	{
    		//verification de mot de passe 
    		if ($_POST['pass'] == $_POST['pass_verif']) 
    		{
    			$pass_hache = password_hash($_POST['pass'],PASSWORD_DEFAULT);
     
    			$req = $bdd->prepare('SELECT COUNT(*) FROM membres WHERE pseudo=:pseudo');
    			$req->execute(array(':pseudo' => $_POST['pseudo']));
    			$res = $req->fetch();
     
    			if ($res[0] == 0) //ce pseudo est libre
    			{
    				$req = $bdd->prepare('SELECT COUNT(*) FROM membres WHERE email = :email');
    				$req->execute(array(':email' => $_POST['email']));
    				$res = $req->fetch();
     
    				if ($res[0] == 0) // cet email est libre
    				{
    					$req = $bdd->prepare('INSERT INTO membres(pseudo,pass,email,date_inscription) VALUES(:pseudo,:pass,:email,CURDATE())');
    					$req->execute(array(
    						'pseudo' => $_POST['pseudo'],
    						'pass' => $_POST['pass'],
    						'email' => $_POST['email']));
    					header('Location :connexion.php');
    					exit();
    				}
    				else
    				{
    					echo 'L\'email' .$_POST['email']. 'deja existe';
    				}
    			}
    			else
    			{
    				echo 'Pseudo' .$_POST['pseudo']. 'indisponible';
    			}	
    		}
    		else
    		{
    			echo 'les mots de passes ne sont pas identique';
    		}
    	}
    ?>
    voici le fichier connexion.php
    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
    <!DOCTYPE html>
    <html>
    	<head>
    		<meta charset="utf-8">
    		<title>connexion</title>
    		<link rel="stylesheet" type="text/css" href="style.css">
    	</head>
     
    	<body>
    		<div class="connexion"> 
    			<form method="post" action="connexion_post.php">
    				<p>
    					<h3>Veuillez connecter votre compte</h3>
    					<label for="pseudo">Pseudo</label>
    					<input type="text" name="pseudo" id="pseudo">
    					<br />
     
    					<label for="pass">Mot de passe</label>
    					<input type="password" name="pass" id="pass">
    					<br /> 
     
    					<label for="connexion_auto">connexion automatique</label> 
    					<input type="checkbox" name="connexion_auto" id="connexion_auto">
    					<br />
     
    					<input type="submit" value="Se connecter" >
    				</p>
    			</form>
    		</div>
    	</body>
     
    </html>
    et connexion_post.php
    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
    <!DOCTYPE html>
    <html>
    	<head>
    		<meta charset="utf-8">
    		<title>connexion</title>
    		<link rel="stylesheet" type="text/css" href="style.css">
    	</head>
     
    	<body>
    		<div class="connexion"> 
    			<form method="post" action="connexion_post.php">
    				<p>
    					<h3>Veuillez connecter votre compte</h3>
    					<label for="pseudo">Pseudo</label>
    					<input type="text" name="pseudo" id="pseudo">
    					<br />
     
    					<label for="pass">Mot de passe</label>
    					<input type="password" name="pass" id="pass">
    					<br /> 
     
    					<label for="connexion_auto">connexion automatique</label> 
    					<input type="checkbox" name="connexion_auto" id="connexion_auto">
    					<br />
     
    					<input type="submit" value="Se connecter" >
    				</p>
    			</form>
    		</div>
    	</body>
     
    </html>
    et la structure de la table membres
    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
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    -- phpMyAdmin SQL Dump
    -- version 4.8.3
    -- https://www.phpmyadmin.net/
    --
    -- Hôte : localhost:8889
    -- Généré le :  ven. 23 nov. 2018 à 18:58
    -- Version du serveur :  5.7.23
    -- Version de PHP :  7.2.8
     
    SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
    SET time_zone = "+00:00";
     
    --
    -- Base de données :  `test`
    --
     
    -- --------------------------------------------------------
     
    --
    -- Structure de la table `membres`
    --
     
    CREATE TABLE `membres` (
      `ID` int(11) NOT NULL,
      `pseudo` varchar(255) NOT NULL,
      `pass` varchar(255) NOT NULL,
      `email` varchar(255) NOT NULL,
      `date_inscription` date NOT NULL
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
     
    --
    -- Index pour les tables déchargées
    --
     
    --
    -- Index pour la table `membres`
    --
    ALTER TABLE `membres`
      ADD PRIMARY KEY (`ID`);
     
    --
    -- AUTO_INCREMENT pour les tables déchargées
    --
     
    --
    -- AUTO_INCREMENT pour la table `membres`
    --
    ALTER TABLE `membres`
      MODIFY `ID` int(11) NOT NULL AUTO_INCREMENT;
    et style.css si vous l'avez besoin
    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
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
     
    body
    {
    	background-color: #001a33;
    }
     
    .inscription 
    {
    	display: block;
    	position:relative;
    	left:30%;
    	text-align: center;
    	color:navy;
    	margin-top: 5%;
    	height: 40%;
    	width: 40%;
    	background-color: #ff9900;
    	border-radius: 5px;
     
    }
     
     
    label
    {
    	padding: 12px 12px 12px 0;
    	display: inline-block;
    	width: 20%;
     
    }
     
    input[type=ratio]
    {
     
    }
     
    input[type=text],[type=password],[type=email]
    {
    	width: 30%;
    	padding: 12px 20px;
    	margin: 8px 0;
    	border:2px solid navy;
    	border-radius: 4px;
     
    }
     
    input[type=submit]
    {
    	background-color: navy;
    	color: white;
    	font-family: "Times New Roman",Times,serif;
    	font-size: 0.8em;
    	border:none;
    	padding: 16px 32px;
    	margin: 4px 2px;
    	text-decoration: none;
    	border-radius: 4px;
    	cursor: pointer;
    }
     
    /* la page connexion */
    .connexion 
    {
    	display: block;
    	position:relative;
    	left:30%;
    	text-align: center;
    	color:navy;
    	margin-top: 5%;
    	height: 40%;
    	width: 40%;
    	background-color: #ff9900;
    	border-radius: 5px;
    }

  2. #2
    Membre chevronné
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2017
    Messages
    508
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2017
    Messages : 508
    Par défaut
    Bonsoir.
    Ça ne fonctionne pas ou ça ne marche pas n'est pas un message d'erreur.
    Ça affiche quoi comme message ?
    Je te reviens demain.

    Cordialement.

  3. #3
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2018
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2018
    Messages : 11
    Par défaut
    Desole pour la réponse tardive, j’ai plus wifi chez moi depuis hier soir...
    alors le probleme ce que tous les donnees j’ai entré dans la champs de la page d’inscription n’engeristre pas (comme pseudo , mdp, email )dans la base de donnee et a la fin du formulaire qu’il redige pas vers la page connexion.php...

  4. #4
    Membre chevronné
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2017
    Messages
    508
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2017
    Messages : 508
    Par défaut
    Bonsoir,
    Dans ton fichier inscription_post.php, je ne vois pas valider qui est le name du bouton Créer un compte.

    Cordialement.

  5. #5
    Membre Expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 60
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Billets dans le blog
    8
    Par défaut
    Salut Nejdet. Procède par étape.
    1) ta connexion à la base de données est-elle bonne ?
    Mets ça sur un fichier et dis-nous ce que ça affiche...
    Perso, je suis un peu étonnée que ton mot de passe (le second root) ne soit pas vide...


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?php
    try	
    {
      $bdd = new PDO('mysql:host=localhost;dbname=test;charset=utf8','root','root',array(PDO::ATTR_ERRMODE => PDO::ERRMODE_WARNING));
      if($bdd instanceof PDO){
         echo 'connexion OK';
      }
    } 
    catch(PDOException $e)
    {
      echo 'Erreur :' .$e->getMessage();				
    }
    PDO, une soupe et au lit !
    Partir de la fin est un bon moyen de retrouver son chemin. Bibi - 2020

  6. #6
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2018
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2018
    Messages : 11
    Par défaut
    Citation Envoyé par Dendrite Voir le message
    Salut Nejdet. Procède par étape.
    1) ta connexion à la base de données est-elle bonne ?
    Mets ça sur un fichier et dis-nous ce que ça affiche...
    Perso, je suis un peu étonnée que ton mot de passe (le second root) ne soit pas vide...


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?php
    try	
    {
      $bdd = new PDO('mysql:host=localhost;dbname=test;charset=utf8','root','root',array(PDO::ATTR_ERRMODE => PDO::ERRMODE_WARNING));
      if($bdd instanceof PDO){
         echo 'connexion OK';
      }
    } 
    catch(PDOException $e)
    {
      echo 'Erreur :' .$e->getMessage();				
    }
    Je travaille sur serveur MAMP , donc il me demande de remplir le mdp par ‘root’
    j'ai teste votre code : il m'affiche cet erreur :
    Erreur :SQLSTATE[HY000] [2002] No such file or directory

    et sur ma phpmyadmin il y avait les autres erreurs aussi depuis ce matin ...
    Nom : Capture d’écran 2018-11-26 à 11.48.50.png
Affichages : 210
Taille : 49,9 Ko

  7. #7
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2018
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2018
    Messages : 11
    Par défaut
    Citation Envoyé par Manequin Voir le message
    Bonsoir,
    Dans ton fichier inscription_post.php, je ne vois pas valider qui est le name du bouton Créer un compte.

    Cordialement.
    oui effectivement ... dans mon page d"inscription_post.php il n'y l'avait pas ... car je voulais faire des que on appuie le bouton créer un compte qu'on enregistre les entrées dans la base de données et rédiger vers la page connexion.php donc j'ai utilisé la fonction header ...

Discussions similaires

  1. Réponses: 197
    Dernier message: 27/04/2021, 00h11
  2. Espace membre
    Par Sub0 dans le forum Langage
    Réponses: 474
    Dernier message: 14/11/2014, 15h23
  3. [XHTML] comment creer un espace membre avec xhtml ?
    Par dax80 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 8
    Dernier message: 09/08/2007, 00h31
  4. [Sécurité] espace membre
    Par Emcy dans le forum Langage
    Réponses: 5
    Dernier message: 24/01/2006, 19h13
  5. [Sécurité] Probleme d'espace membre
    Par warmup dans le forum Langage
    Réponses: 4
    Dernier message: 01/12/2005, 01h13

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