La Communauté Webmaster  forum rss


  Forum-webmaster
  Technique - programmation
  PHP / MySQL
(Modérateurs: Shain, Jey, erwinol, Lilian, lauryv, ToToMaStEr)
  Aide pour Espace Membre
« Précédent Suivant »
Pages: [1] Descendre
Répondre    Aviser des réponses    Envoyer le sujet    Imprimer
  Auteur  Sujet: Aide pour Espace Membre  (Lu 1643 fois)
Aide pour Espace Membre
« sur: le 13-06-2008 a 08:02:10 »
sonic2
Membre récent
*

Hors-Ligne

Messages: 7



Je suis un lama!

Voir le Profil
Répondre avec citation

Bonjour,

J'ai trouvé sur un site un tuto pour la création d'un espace membre avec activation par mail pour mon site. Je suis encore novice en php et MySQL.

Mon problème est que avec le code du tuto il n'y a ni création des infos dans la base de donné et donc ni envoi du mail :s

voici le code de la page d'inscription

Code:
<?

// Redirige l'utilisateur s'il est déjà identifié
if(isset($_COOKIE["ID_UTILISATEUR"]))
{
    header("Location: index.php");
}
else
{
   
    // Formulaire visible par défaut
    $masquer_formulaire = false;
   
    // Une fois le formulaire envoyé
    if(isset($_POST["BT_Envoyer"]))
    {
         
          // Vérification de la validité des champs
          if(!ereg("^[A-Za-z0-9_]{4,20}$", $_POST["TB_Nom_Utilisateur"]))
          {
              $message = "Votre nom d'utilisateur doit comporter entre 4 et 20 caractères<br />\n";
              $message .= "L'utilisation de l'underscore est autorisée";
          }
          elseif(!ereg("^[A-Za-z0-9]{4,}$", $_POST["TB_Mot_de_Passe"]))
          {
              $message = "Votre mot de passe doit comporter au moins 4 caractères";
          }
          elseif($_POST["TB_Mot_de_Passe"] != $_POST["TB_Confirmation_Mot_de_Passe"])
          {
              $message = "Votre mot de passe n'a pas été correctement confirmé";
          }
          elseif(!ereg("^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]{2,}[.][a-zA-Z]{2,4}$",
              $_POST["TB_Adresse_Email"]))
          {
              $message = "Votre adresse e-mail n'est pas valide";
          }
          else
          {
             
              // Connexion à la base de données
              // Valeurs à modifier selon vos paramètres configuration
              mysql_connect("localhost", "root", "");
              mysql_select_db("asp-php");
             
              // Vérification de l'unicité du nom d'utilisateur et de l'adresse e-mail
              $result = mysql_query("
                    SELECT Nom_Utilisateur
                        , Adresse_Email
                    FROM Comptes_Utilisateurs
                    WHERE Nom_Utilisateur = '" . $_POST["TB_Nom_Utilisateur"] . "'
                    OR Adresse_Email = '" . $_POST["TB_Adresse_Email"] . "'
              ");
             
              // Si une erreur survient
              if(!$result)
              {
                    $message = "Une erreur est survenue lors de la création de votre compte utilisateur";
              }
              else
              {
                   
                    // Si un enregistrement est trouvé
                    if(mysql_num_rows($result) > 0)
                    {
                       
                        while($row = mysql_fetch_array($result))
                        {
                             
                              if($_POST["TB_Nom_Utilisateur"] == $row["Nom_Utilisateur"])
                              {
                                  $message = "Le nom d'utilisateur " . $_POST["TB_Nom_Utilisateur"];
                                  $message .= "est déjà utilisé";
                              }
                              elseif($_POST["TB_Adresse_Email"] == $row["Adresse_Email"])
                              {
                                  $message = "L'adresse e-mail " . $_POST["TB_Adresse_Email"];
                                  $message .= "est déjà utilisée";
                              }
                             
                        }
                       
                    }
                    else
                    {
                       
                        // Génération de la clef d'activation
                        $caracteres = array("a", "b", "c", "d", "e", "f", 0, 1, 2, 3, 4, 5, 6, 7, 8, 9);
                        $caracteres_aleatoires = array_rand($caracteres, 8);
                        $clef_activation = "";
                       
                        foreach($caracteres_aleatoires as $i)
                        {
                              $clef_activation .= $caracteres[$i];
                        }
                       
                        // Création du compte utilisateur
                        $result = mysql_query("
                              INSERT INTO Comptes_Utilisateurs(
                                  Nom_Utilisateur
                                  , Mot_de_Passe
                                  , Adresse_Email
                                  , Date_Inscription
                                  , Clef_Activation
                              )
                              VALUES(
                                  '" . $_POST["TB_Nom_Utilisateur"] . "'
                                  , '" . md5($_POST["TB_Mot_de_Passe"]) . "'
                                  , '" . $_POST["TB_Adresse_Email"] . "'
                                  , '" . time() . "'
                                  , '" . $clef_activation . "'
                              )
                        ");
                       
                        // Si une erreur survient
                        if(!$result)
                        {
                              $message = "Une erreur est survenue lors de la création de votre compte utilisateur";
                        }
                        else
                        {
                             
                              // Envoi du mail d'activation
                              $sujet = "Activation de votre compte utilisateur";
                             
                              $message = "Pour valider votre inscription, merci de cliquer sur le lien suivant :\n";
                              $message .= "http://" . $_SERVER["SERVER_NAME"];
                              $message .= "/activer-compte-utilisateur.php?id=" . mysql_insert_id();
                              $message .= "&clef=" . $clef_activation;
                             
                              // Si une erreur survient
                              if(!@mail($_POST["TB_Adresse_Email"], $sujet, $message))
                              {
                                  $message = "Une erreur est survenue lors de l'envoi du mail d'activation<br />\n";
                                  $message .= "Veuillez contacter l'administrateur afin d'activer votre compte";
                              }
                              else
                              {
                                 
                                  // Message de confirmation
                                  $message = "Votre compte utilisateur a correctement été créer<br />\n";
                                  $message .= "Un email vient de vous être envoyer afin de l'activer";
                                 
                                  // On masque le formulaire
                                  $masquer_formulaire = true;
                                 
                              }
                             
                        }
                       
                    }
                   
              }
             
          }
         
          // Fermeture de la connexion à la base de données
          mysql_close();
         
    }
   
}

?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html lang="fr" xml:lang="fr" xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>[PHP] Créer un espace membre</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<? if(isset($message)) { ?>
<p><?= $message; ?></p>
<? } if($masquer_formulaire != true) { ?>
<form action="http://<?= $_SERVER["SERVER_NAME"] . $_SERVER["SCRIPT_NAME"]; ?>" method="post">
    <p>
          Nom d'utilisateur : <input type="text" name="TB_Nom_Utilisateur" />
    </p>
    <p>
          Mot de passe : <input type="password" name="TB_Mot_de_Passe" />
    </p>
    <p>
          Confirmation du mot de passe : <input type="password" name="TB_Confirmation_Mot_de_Passe" />
    </p>
    <p>
          Adresse e-mail : <input type="text" name="TB_Adresse_Email" />
    </p>
    <p>
          <input type="submit" name="BT_Envoyer" value="Envoyer" />
    </p>
</form>
<? } ?>
</body>
</html>

A mon avis cela provient de l'action du formulaire je ne sais pas par quoi remplacé les variables

Merci d'avance de vos réponses 

PS : J'utilise dreamweaver et easy php

« Dernière Édition: le 21-07-2008 a 08:50:00 par ToToMaStEr » Rapporter au modérateur  

Re:ESPACE MEMBRE HELP!!
« Répondre #1 sur: le 18-06-2008 a 08:36:48 »
digacreat
Membre récent
*

Hors-Ligne

Messages: 30



Je suis un lama!

Voir le Profil    E-Mail
Répondre avec citation

salut,
oui effectivement pour débuté c'est vraiment pas bien 
trouve un autre tuto

Rapporter au modérateur  
Re:ESPACE MEMBRE HELP!!
« Répondre #2 sur: le 18-06-2008 a 13:31:28 »
sonic2
Membre récent
*

Hors-Ligne

Messages: 7



Je suis un lama!

Voir le Profil
Répondre avec citation

Je cherche un autre tuto depuis plusieurs jours mais je ne trouve rien. Savez vous ou en trouver? 

Rapporter au modérateur  
Re:ESPACE MEMBRE HELP!!
« Répondre #3 sur: le 18-06-2008 a 17:40:46 »
digacreat
Membre récent
*

Hors-Ligne

Messages: 30



Je suis un lama!

Voir le Profil    E-Mail
Répondre avec citation

http://www.phpdebutant.org/
http://www.infos-du-net.com/forum/21159-21-technique-identification-membres-site

j'en connais pas mais essai sa

Rapporter au modérateur  
Re:ESPACE MEMBRE HELP!!
« Répondre #4 sur: le 20-06-2008 a 13:21:56 »
sonic2
Membre récent
*

Hors-Ligne

Messages: 7



Je suis un lama!

Voir le Profil
Répondre avec citation

Merci beaucoup pour les liens 

Je vais essayer 

Rapporter au modérateur  
Re:ESPACE MEMBRE HELP!!
« Répondre #5 sur: le 25-06-2008 a 08:47:59 »
sonic2
Membre récent
*

Hors-Ligne

Messages: 7



Je suis un lama!

Voir le Profil
Répondre avec citation

Bonjour,

J'ai trouver un script sur lephpfacile.com mais j'ai encore un soucis 

A la base le script n'enregistrait pas dans ma table mais après avoir modifier avec dream il y a enregistrement. Et je peu me connecter grâce a la fonction connecter l'utilisateur dans dream mais arriver sur la page membre pour afficher le nom du connecter il y a une erreur :

Notice: Undefined variable: _SESSION in D:\Program Files\EasyPHP 2.0b1\www\Mon_site\connection_membres\membre.php on line 154
!

Voila le code de la page



Code:
<?php require_once('../Connections/membres.php'); ?>
<?php
$colname_membre = "-1";
if (isset($_GET['id'])) {
  $colname_membre = (get_magic_quotes_gpc()) ? $_GET['id'] : addslashes($_GET['id']);
}
mysql_select_db($database_membres, $membres);
$query_membre = sprintf("SELECT id FROM membre WHERE id = %s", $colname_membre);
$membre = mysql_query($query_membre, $membres) or die(mysql_error());
$row_membre = mysql_fetch_assoc($membre);
$totalRows_membre = mysql_num_rows($membre);
?><?php
session_start(); 
if (!isset($_SESSION['login'])) {
    header ('Location: index.php');
  exit(); 

?>
<---------> Ligne 154 ci dessous
<span class="Style3">Bienvenue sur votre espace membre <?php echo htmlentities(trim($_SESSION['login'])); ?> !</span></p>

Rapporter au modérateur  
Re:ESPACE MEMBRE HELP!!
« Répondre #6 sur: le 25-06-2008 a 09:14:13 »
ToToMaStEr
Modérateur Global
*****

Hors-Ligne

Sexe: Male
Messages: 238



....

Voir le Profil    WWW    E-Mail
Répondre avec citation

Salut,

Crée un répertoire /session/ à la racine de ton serveur .

De plus regarde (avec un phpinfo() ) , si les sessions sont actives et autorisée sur ton serveur.


Rapporter au modérateur  

Vous ne pourrez pas me batre à ce jeu:labrute || Formation aux premiers secours CRF
Re:ESPACE MEMBRE HELP!!
« Répondre #7 sur: le 25-06-2008 a 09:31:23 »
digacreat
Membre récent
*

Hors-Ligne

Messages: 30



Je suis un lama!

Voir le Profil    E-Mail
Répondre avec citation

Ta variable et mal renseigné regarde bien

Rapporter au modérateur  
Re:ESPACE MEMBRE HELP!!
« Répondre #8 sur: le 25-06-2008 a 12:51:41 »
sonic2
Membre récent
*

Hors-Ligne

Messages: 7



Je suis un lama!

Voir le Profil
Répondre avec citation

J'ai garder comme dans le script mais ca ne fonctionne toujours pas  J'utilise easy php pour l'instant pour tester normalement ça fait les sessions non?

Je voudrais que le nom de l'utilisateur soit afficher sur la page membre.php

Pour cela il faudrait qu'on récupère l'entrée du champ 'login' de la page index mais comment faire?

Merci de vos réponses

Rapporter au modérateur  
Re:ESPACE MEMBRE HELP!!
« Répondre #9 sur: le 25-06-2008 a 19:54:33 »
digacreat
Membre récent
*

Hors-Ligne

Messages: 30



Je suis un lama!

Voir le Profil    E-Mail
Répondre avec citation

essai sa

<?php echo stripslashes(htmlentities(trim($_SESSION['login']))); ?>

Rapporter au modérateur  
Re:ESPACE MEMBRE HELP!!
« Répondre #10 sur: le 25-06-2008 a 20:00:26 »
digacreat
Membre récent
*

Hors-Ligne

Messages: 30



Je suis un lama!

Voir le Profil    E-Mail
Répondre avec citation

a oui aussi

$query_membre = sprintf("SELECT id FROM membre WHERE id = %s", $colname_membre);

il manque login dans ton appel

Rapporter au modérateur  
Re:ESPACE MEMBRE HELP!!
« Répondre #11 sur: le 26-06-2008 a 07:47:45 »
sonic2
Membre récent
*

Hors-Ligne

Messages: 7



Je suis un lama!

Voir le Profil
Répondre avec citation

Je ne sais plus du tout quoi faire 

J'ai supprimé la partie pour afficher le login. Par contre j'ai une question : comment empêcher à un autre visiteur n'ayant pas été soumis au formulaire de connection de se connecter si quelqu'un lui donne l'adresse?

Rapporter au modérateur  
Re:ESPACE MEMBRE HELP!!
« Répondre #12 sur: le 26-06-2008 a 08:12:50 »
digacreat
Membre récent
*

Hors-Ligne

Messages: 30



Je suis un lama!

Voir le Profil    E-Mail
Répondre avec citation

je connais pas ton script donc je peut pas te dire mais en tout cas tu doit mettre une partie du  script de reconnaissance sur toute t'es pages .

Rapporter au modérateur  
Re:ESPACE MEMBRE HELP!!
« Répondre #13 sur: le 26-06-2008 a 18:50:12 »
sonic2
Membre récent
*

Hors-Ligne

Messages: 7



Je suis un lama!

Voir le Profil
Répondre avec citation

Les scripts des pages sont la http://www.lephpfacile.com/howto/10-un-espace-membre mais j'ai modifier avec dream parce qu'il n'y avait aucun enregistrement avec le script d'origine 

Si sa peut te servir à m'aider ça serait sympa. Merci beaucoup de ton coup main

Rapporter au modérateur  
Re:ESPACE MEMBRE HELP!!
« Répondre #14 sur: le 28-06-2008 a 09:42:50 »
digacreat
Membre récent
*

Hors-Ligne

Messages: 30



Je suis un lama!

Voir le Profil    E-Mail
Répondre avec citation

et bé faut regarder ou lire les information c'etait la

Le test de l'existence du compte de notre membre ayant déjà été fait dans la page index.php, il nous reste peu de chose à faire pour notre espace membre.

En effet, dans membre.php, il ne nous reste qu'à tester que la personne qui accède a cette page est bien passée par le formulaire de connexion de l'espace membre.
<?php
session_start(); 
if (!isset($_SESSION['login'])) {
  header ('Location: index.php');
    exit(); 

?>
Tu doit mettre sa sur tout t'es pages.

Rapporter au modérateur  
Répondre    Aviser des réponses    Envoyer le sujet    Imprimer
Pages: [1] Monter
« Précédent Suivant »
Sauter à: 

Votre statut : Invité
Vous devez être membre pour participer.
 
 
Let’s Encrypt : le certificat SSL gratuit
Tester votre site internet sur différents navigateurs
[WordPress] Des problèmes avec l’administration ?
Rappel : Mettez à jour vos CMS et vos sites E-commerce
Le .fr fête ses 25 années d’existence !
Mesurer votre audience en temps réel avec BubbleStat
Porter réclamation contre Google Panda ?
Zlio n’est plus …
 
 
 
 
 

Copyright (c) Devclic 2002 - 2026 - Tous droits réservés

creation site internet strasbourg