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
1. 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
2. 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.
3. 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.
4. 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
5. // 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;
}
}
6. 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==''){
7. $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.=' ';
$output.=' </td>';
$output.=' <td>';
$output.=' ';
$output.=' </td>';
$output.=' </tr>';
$output.=' <tr>';
$output.=' <td>';
$output.=' Mot de passe (6 caractères au minimum) *';
13. 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