Comment Créer Un Site De Membres vol 03
Upcoming SlideShare
Loading in...5
×
 

Comment Créer Un Site De Membres vol 03

on

  • 982 views

Comment créer un site de membre, vol 03, inscription du membre dans l'auto-répondeur, inscription pour identifications futures dans le sites avec validation de son compte par email

Comment créer un site de membre, vol 03, inscription du membre dans l'auto-répondeur, inscription pour identifications futures dans le sites avec validation de son compte par email

Statistics

Views

Total Views
982
Views on SlideShare
913
Embed Views
69

Actions

Likes
0
Downloads
16
Comments
1

1 Embed 69

http://sitedemembres.com 69

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…



  • <b>[Comment posted from</b> http://sitedemembres.com/04112230.html]
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Comment Créer Un Site De Membres vol 03 Comment Créer Un Site De Membres vol 03 Document Transcript

  • Comment créer un site de membres Dans ce cours 03, nous allons voir : Inscription du membre dans votre auto-répondeur Inscription du membre sur votre site pour identification future Validation de son compte par email
  • L'inscription du membre Au tout début de la relation avec vos membres, rien de tel pour collecter leur adresse email que de leur offrir un échantillon gratuit de ce que vous proposez. C'est peut-être x chapitres du cours réel, ou bien une version gratuite adaptée. Vous pourrez aussi lui faire plusieurs fois votre offre payante. Une fois qu'il aura estimé la valeur de ce qu'on lui offre, il décidera plus facilement si il souhaite passer à l'offre payante. Si vous faites une page de vente normale, même très bien faite, vous allez rencontrer beaucoup de résistance. « Dois-je faire confiance en cette personne, je ne la connais pas ! », « Cette formation correspond à ce que je recherche ? », »Je vais peut-être chercher et trouver moins cher ailleurs », »C'est pleine lune ce soir, je n'achète rien » et tous ces visiteurs, une fois parti, vous aurez beaucoup de chance si elle revient sur votre site et pour acheter votre formation. Une des solutions est de faire une page de capture. Une accroche, une liste de bénéfices, un formulaire et votre visiteur vous laisse en toute confiance son prénom et son email en échange de sa formation gratuite, sans résistance en plus ! A partir de là, vous allez faire connaissance avec lui, lui prouver que votre formation est de qualité, qu'il en aura pour plus que son argent, que vous êtes sympathique et efficace et surtout lui rappeler de temps en temps votre offre payante et cette méthode marche ! Voyons votre site de membres maintenant. Une page de capture c'est tout un art à part mais dans un premier temps il faut faire simple et nous allons la travailler dans la page 1 de modx qui est la page par défaut du site. Une fois que le membre aura rempli le formulaire de la page de capture, il sera inscrit dans votre auto-répondeur, ensuite il faudra rediriger le membre vers une page d'inscription au site afin qu'il puisse plus tard s'identifier sur le site.
  • Pour créer cette première page, cliquez sur l'onglet « Site » et ensuite « Nouvelle Ressource » Il suffit maintenant de remplir les champs Titre de la page, alias et le contenu. Le titre s'affichera dans la barre bleue de votre navigateur et ce sera aussi un repère pour vous quand le site sera rempli de pages. Si vous ne mettez pas d'alias, la page sera disponible sous la forme votredomaine.com/index.php? id=x Pas très sexy hein !? Si vous mettez un alias, par exemple 'capture', la page sera disponible sous la forme votredomaine.com/capture.html. Retenez bien cette manipulation pour ajouter une page car elle servira tout le long de cette formation.
  • Dans le contenu, une explication pour expliquer au membre qu'il doit maintenant s'inscrire sur le site pour s'identifier plus tard et à la suite du texte, un snippet. [!inscription!] Avant de vous donner le code de ce snippet, vous devez encore préparer la page 'après inscription'. Sur cette page vous expliquez que le membre va recevoir un email de validation sur lequel il doit cliquer. Dans le code du snippet, vous devez modifier les parties en rouge avec vos propres information et la modification en vert par l'identifiant de la page que vous venez de faire. Code de ce snippet [!inscription!] : <?php function check_username($username) { $username = trim($username); // strip any white space $response = array(); // our response
  • // if the username is blank if (!$username) { $response = array( 'ok' => false, 'msg' => "Identifiant vide"); // if the username does not match a-z or '.', '-', '_' then it's not valid } else if (!preg_match('/^[a-zA-Z0-9.-_]+$/', $username)) { $response = array( 'ok' => false, 'msg' => "Votre identifiant contient des caractères interdits,autorisés le point, le souligné et le tiret (.-_)"); // this would live in an external library just to check if the username is taken } else if (username_taken($username)) { $response = array( 'ok' => false, 'msg' => "Cet identifiant est déjà utilisé"); // it's all good } else { $response = array( 'ok' => true, 'msg' => "Identifiant ok"); } return $response; } function username_taken($username) { global $modx; $query = 'SELECT username FROM ' . $modx->getFullTableName ( 'web_users' ) . ' WHERE username="' . $username.'"' ; $records = $modx->db->query ( $query ); if ($modx->db->getRecordCount ( $records ) > 0) { return true; }else{ return false; } } function email_taken($username) { global $modx; $query = 'SELECT email FROM ' . $modx->getFullTableName ( 'web_user_attributes' ) . ' WHERE email="' . $username.'"' ; $records = $modx->db->query ( $query ); if ($modx->db->getRecordCount ( $records ) > 0) { return true; }else{ return false; } }
  • function ValidEmail($address) { if( ereg( ".*<(.+)>", $address, $regs ) ) { $address = $regs[1]; } if(ereg( "^[^@ ]+@([a-zA-Z0-9-]+.)+([a-zA-Z0-9-]{2}|net|com|gov|mil|org|edu|int|lu|be| info)$",$address) ) return true; else return false; } if ($_POST['formid']=='inscription'){ $username=$modx->db->escape($_POST['username']); $password=$modx->db->escape($_POST['password']); $password2=$modx->db->escape($_POST['password2']); $fullname=$modx->db->escape($_POST['fullname']); $email=$modx->db->escape($_POST['email']); $tos=$modx->db->escape($_POST['tos']); // initialisation des variables $errors = 0 ; $message = '' ; // vérification de l'identifiant, syntaxe et existence dans la db $question = array(); $question = check_username($username); if ($question['ok']==false){ $message.=$question['msg'].'<br>'; $errors = 1; } // Vérification pour l'adresse email if (email_taken($email)) { $message.='Vous avez déjà un compte avec cet adresse email'.'<br>'; $errors = 1; } // vérification des mots de passe if (strlen($password)<6){ $message.='Le mot de passe doit contenir au moins 6 caractères'.'<br>'; $errors = 1; } if ($password!=$password2){ $message.='Les mots de passe sont différents'.'<br>'; $errors = 1; } if ($fullname==''){
  • $message.='Introduisez votre prénom et votre nom'.'<br>'; $errors = 1; } if ($email==''){ $message.='Introduisez votre adresse email'.'<br>'; $errors = 1; }else{ if (ValidEmail($email)){ }else{ $message.='Votre adresse email semble incorrecte'.'<br>'; $errors = 1; } } if ($tos==''){ $message.='Vous devez cocher la case `j'accepte les conditions d'utilisation`'.'<br>'; $errors = 1; } // si on contate une erreur on remet le formulaire complété, sinon on met les informations en db if ($errors == 1){ $modx->setPlaceholder('validationmessage',$message); $output=''; $output.='<div class="BoxGris">'; $output.='<h3>Inscription<br /></h3>'; $output.='<div class="BoxGrisContent">'; $output.='<p><span style="color:#900;">[+validationmessage+]</span></p>'; $output.='<form action="[~[*id*]~]" method="post">'; $output.=' <input type="hidden" name="formid" value="inscription" />'; $output.='<table cellspacing="0" cellpadding="0" width="100%">'; $output.=' <tr>'; $output.=' <td>'; $output.=' Identifiant *'; $output.=' </td>'; $output.=' <td>'; $output.=' <input class="field" type="text" name="username" size="40" maxlength="100" value="'.$username.'" />'; $output.=' </td>'; $output.=' </tr>'; $output.=' <tr>'; $output.=' <td>'; $output.=' &nbsp;'; $output.=' </td>'; $output.=' <td>'; $output.=' &nbsp;'; $output.=' </td>'; $output.=' </tr>'; $output.=' <tr>'; $output.=' <td>'; $output.=' Mot de passe (6 caractères au minimum) *';
  • $output.=' </td>'; $output.=' <td>'; $output.=' <input class="field" type="password" name="password" size="40" maxlength="100" value="'.$password.'" />'; $output.=' </td>'; $output.=' </tr>'; $output.=' <tr>'; $output.=' <td>'; $output.=' Confirmez le mot de passe *'; $output.=' </td>'; $output.=' <td>'; $output.=' <input class="field" type="password" name="password2" size="40" maxlength="100" value="'.$password2.'" />'; $output.=' </td>'; $output.=' </tr>'; $output.=' <tr>'; $output.=' <td>'; $output.=' &nbsp;'; $output.=' </td>'; $output.=' <td>'; $output.=' &nbsp;'; $output.=' </td>'; $output.=' </tr>'; $output.=' <tr>'; $output.=' <td>'; $output.=' Votre prénom *'; $output.=' </td>'; $output.=' <td>'; $output.=' <input class="field" type="text" name="fullname" size="40" maxlength="100" value="'.$fullname.'" />'; $output.=' </td>'; $output.=' </tr>'; $output.=' <tr>'; $output.=' <td>'; $output.=' Email *'; $output.=' </td>'; $output.=' <td>'; $output.=' <input class="field" type="text" name="email" size="40" maxlength="100" value="'.$email.'" />'; $output.=' </td>'; $output.=' </tr>'; $output.=' <tr>'; $output.=' <td>'; $output.=' &nbsp;'; $output.=' </td>'; $output.=' <td>'; $output.=' &nbsp;'; $output.=' </td>'; $output.=' </tr>'; $output.=' <tr>'; $output.=' <td>'; $output.=' &nbsp;';
  • $output.=' </td>'; $output.=' <td>'; $output.=' <input type="checkbox" name="tos" id="wlpeTosCheckbox" class="maite"/> * J'accepte les <a target="_blank" href="Conditions- dutilisation.html">conditions d'utilisation</a>'; $output.=' </td>'; $output.=' </tr>'; $output.=' <tr>'; $output.=' <td>'; $output.=' &nbsp;'; $output.=' </td>'; $output.=' <td>'; $output.=' <input type="submit" name="submit" value="M'enregistrer" />'; $output.=' </td>'; $output.=' </tr>'; $output.=' <tr>'; $output.=' <td>'; $output.=' &nbsp;'; $output.=' </td>'; $output.=' <td>'; $output.=' &nbsp;'; $output.=' </td>'; $output.=' </tr>'; $output.=' <tr>'; $output.=' <td colspan="2">'; $output.=' * Champs obligatoires<br><br><br>Toutes les données collectées resteront strictement confidentielles'; $output.=' </td>'; $output.=' </tr>'; $output.='</table>'; $output.='</form>'; $output.='</div>'; $output.='</div>'; return $output; }else{ // tout s'est bien déroulé, on met l'information dans les différentes tables $table_name = $modx->getFullTableName( 'web_users' ); $fields = array('username' => $username, 'password' => md5($password), ); $nouveau_client=$modx->db->insert( $fields, $table_name); $table_name = $modx->getFullTableName( 'web_groups' ); $fields = array('webgroup' => 1, 'webuser' => $nouveau_client, ); $modx->db->insert( $fields, $table_name); $table_name = $modx->getFullTableName( 'web_user_attributes' );
  • $fields = array('internalKey' => $nouveau_client, 'fullname' => $fullname, 'photo' => '', 'email' => $email, 'blocked' => 1, ); $modx->db->insert( $fields, $table_name); //Envoi du mail de notification $mail_from = 'MIME-Version: 1.0' . "rn"; $mail_from .= 'Content-type: text/html; charset=utf-8' . "rn"; $mail_from .= "From: info@sitedemembres.com"; // Adresse mail envoi $message = "Votre compte sitedemembres.com a maintenant été créé.<br>"; $message .= "<br>"; $message .= "L'identifiant de votre compte est : ".$username."<br>"; $message .= "Votre mot de passe est : ".$password."<br>"; $message .= "<br>"; $message .= "Avant de pouvoir utiliser votre identifiant, vous devez d'abord activer votre compte en suivant le lien ci-dessous ou en le recopiant dans votre navigateur:<br>"; $message .= "<br>"; $message .= "http://sitedemembres.com/validation?key=".$nouveau_client."<br>"; $message .= "<br>"; $message .= "<br>"; $message .= "Si vous avez un quelconque problème avec le processus d'activation, veuillez nous contacter via l’adresse mail suivante : info@sitedemembres.com<br>"; $message .= "<br>"; $message .= "Cordialement,<br>"; $message .= "Patrick Van Hoof"; mail($email, "Validation de votre compte sur sitedemembres.com",$message,$mail_from); $modx->sendForward(4); } } else { $output=''; $output.='<div class="BoxGris">'; $output.='<h3>Inscription<br /></h3>'; $output.='<div class="BoxGrisContent">'; $output.='<p><span style="color:#900;">[+validationmessage+]</span></p>'; $output.='<form action="[~[*id*]~]" method="post">'; $output.=' <input type="hidden" name="formid" value="inscription" />'; $output.='<table cellspacing="0" cellpadding="0" width="100%">'; $output.=' <tr>'; $output.=' <td>'; $output.=' Identifiant *'; $output.=' </td>'; $output.=' <td>'; $output.=' <input class="field" type="text" name="username" size="40" maxlength="100" />';
  • $output.=' </td>'; $output.=' </tr>'; $output.=' <tr>'; $output.=' <td>'; $output.=' &nbsp;'; $output.=' </td>'; $output.=' <td>'; $output.=' &nbsp;'; $output.=' </td>'; $output.=' </tr>'; $output.=' <tr>'; $output.=' <td>'; $output.=' Mot de passe (6 caractères au minimum) *'; $output.=' </td>'; $output.=' <td>'; $output.=' <input class="field" type="password" name="password" size="40" maxlength="100" />'; $output.=' </td>'; $output.=' </tr>'; $output.=' <tr>'; $output.=' <td>'; $output.=' Confirmez le mot de passe *'; $output.=' </td>'; $output.=' <td>'; $output.=' <input class="field" type="password" name="password2" size="40" maxlength="100" />'; $output.=' </td>'; $output.=' </tr>'; $output.=' <tr>'; $output.=' <td>'; $output.=' &nbsp;'; $output.=' </td>'; $output.=' <td>'; $output.=' &nbsp;'; $output.=' </td>'; $output.=' </tr>'; $output.=' <tr>'; $output.=' <td>'; $output.=' Votre prénom *'; $output.=' </td>'; $output.=' <td>'; $output.=' <input class="field" type="text" name="fullname" size="40" maxlength="100" value="'.$fullname.'" />'; $output.=' </td>'; $output.=' </tr>'; $output.=' <tr>'; $output.=' <td>'; $output.=' Email *'; $output.=' </td>'; $output.=' <td>'; $output.=' <input class="field" type="text" name="email" size="40" maxlength="100" value="'.$email.'" />';
  • $output.=' </td>'; $output.=' </tr>'; $output.=' <tr>'; $output.=' <td>'; $output.=' &nbsp;'; $output.=' </td>'; $output.=' <td>'; $output.=' &nbsp;'; $output.=' </td>'; $output.=' </tr>'; $output.=' <tr>'; $output.=' <td>'; $output.=' &nbsp;'; $output.=' </td>'; $output.=' <td>'; $output.=' <input type="checkbox" name="tos" id="wlpeTosCheckbox" class="maite"/> * J'accepte les <a target="_blank" href="Conditions-dutilisation.html">conditions d'utilisation</a>'; $output.=' </td>'; $output.=' </tr>'; $output.=' <tr>'; $output.=' <td>'; $output.=' &nbsp;'; $output.=' </td>'; $output.=' <td>'; $output.=' <input type="submit" name="submit" value="M'enregistrer" />'; $output.=' </td>'; $output.=' </tr>'; $output.=' <tr>'; $output.=' <td>'; $output.=' &nbsp;'; $output.=' </td>'; $output.=' <td>'; $output.=' &nbsp;'; $output.=' </td>'; $output.=' </tr>'; $output.=' <tr>'; $output.=' <td colspan="2">'; $output.=' * Champs obligatoires<br><br><br>Toutes les données personnelles collectées resteront strictement confidentielles'; $output.=' </td>'; $output.=' </tr>'; $output.='</table>'; $output.='</form>'; $output.='</div>'; $output.='</div>'; return $output; } ?>
  • Rendez vous dans le menu de votre auto-répondeur préféré et générez le formulaire d'inscription avec la page que vous venez de créer en redirection après l'inscription que vous collez dans un chunk « form_capture » par exemple. (Vous savez maintenant comment créer un chunk, un snippet). Et finalement vous collez le chunk {{form_capture}} dans la page de capture. Maintenant le membre attend son email de validation du site, nous allons préparer deux pages. La première sera une page avec un simple message de confirmation d'inscription, il est passé toutes les étapes, on le rassure, et vous mémorisez l'identifiant de cette page Ensuite vous créez une autre page avec comme alias 'validation' et on va coller un snippet [! validation_membre!] Le code de ce snippet validation_membre : <?php $webInternalKey=$modx->db->escape($_GET['key']); if ($webInternalKey=='') { $modx->sendForward(1); }else{ $table_name = $modx->getFullTableName( 'web_user_attributes' ); $fields = array('blocked' => 0); $result = $modx->db->update( $fields, $table_name, 'internalKey = ' . $webInternalKey); if( $result ) { $modx->sendForward(5); }else { echo 'Un problème est intervenu, merci d'en avertir info@sitedemembres.com'; } } ?> Modifier la 1ere zone rouge avec l'identifiant de votre page de confirmation. L'autre zone rouge avec votre adresse email. Et voilà, vous avez maintenant tout le circuit depuis la visite de vos membres, inscription sur l'auto- répondeur, inscription sur le site avec validation des informations. On arrive à la fin du compliqué ! Merci d'avoir tenu le coup jusque là, vous êtes très motivé et je vous retrouve (sur les genoux ?) dans le cours suivant ;) Patrick info@sitedememebres.com