Vous n'êtes pas identifié(e).
bonjour
j'aimerai que lorsque la personne s'inscrive sur le site il puisse rajouté son téléphone ainsi que sont adresse etc ..
ainsi qu'un code pro
et que lorsque l'on vas sur le profil utilisateur on y retrouve ses informations
aussi lors de sont inscription on reçoive toutes ses information par mail
il me faut donc modifier certains fichier mais lesquelle ??
merci pour vos piste
Dernière modification par snypi (30/05/2012 09:26:21)
un zite+ associatif http://asso.gard.a.toi.free.fr
création de site internet dans le Gard et Ardèche http://www.creation-site-internet-gard.com/
Hors ligne
petite question si je change le user.php ainsi que le user.ini et user.config.php faut t'il que j'apporte des modifs à user.dta ????
pour le moment j'arrive à rajouter un champs de saisie mais les info entrer ne sont pas enregistrer si stocké
edit : j'ai solutionné mon souci ma méthode à été d'éffacé l'intégralité de user.dta et la module à reconstruit le fichier
je vais donc essayé de rajouté un maximun de champs à la création d'utilisateur
Dernière modification par snypi (01/06/2012 10:02:09)
un zite+ associatif http://asso.gard.a.toi.free.fr
création de site internet dans le Gard et Ardèche http://www.creation-site-internet-gard.com/
Hors ligne
pour mon besoin perso j'ai modifier l'inscription et le profil utilisateur
j'ai rajouté des champs en option : adresse | code postal | ville | téléphone | profession |un champ libre que je n'ai pas encore implémenté
si cela vous intéresse je peut le partager
par contre j'aurais aimé rajouter une option au option rendre le champs obligatoire ou facultatif !! mais pour cela je bloque un peu
si quelqu'un à une piste
un zite+ associatif http://asso.gard.a.toi.free.fr
création de site internet dans le Gard et Ardèche http://www.creation-site-internet-gard.com/
Hors ligne
toujours dans la construction de mon user.php j'ai besoin de créer pour liste déroulante pour la profession
voici mon code mais je ne sais pas mis prendre pour récupérer la valeur du choix dans une variable $profession
if ($this->getOption('showprofession')) $out .= '<tr><td>'.$this->get_message('profession').'</td><td>
<label class="label-top" for="profession[]"> Profession</label>
<div class="input-wide"><span class="sub-label-container"><select class="dropdown"name="profession[]"'.($del ? 'disabled' : '').' style="width:150px" id="profession">
<option selected="" value="casseur de noix"> casseur de noix </option>
<option value="fumiste"> fumiste </option>
<option value="docteur"> docteur </option>
<option value="geek"> geek </option></select>
<label class="sub-label" for="profession"> Indiquez nous votre profession </label></span> </td></tr>';
un zite+ associatif http://asso.gard.a.toi.free.fr
création de site internet dans le Gard et Ardèche http://www.creation-site-internet-gard.com/
Hors ligne
par contre j'aurais aimé rajouter une option au option rendre le champs obligatoire ou facultatif !! mais pour cela je bloque un peu
si quelqu'un à une piste
T'as pas de chance: pour ce module il faut modifier le code user.config.php du répertoire module/config.
Alors que pour les modules plus récents il suffit juste d'ajouter un fichier d'option et le tour est joué
Mais ça viendra dans les prochaines versions, petit à petit je migre tout vers ce système de configuration
a+
Jean-Paul
Hors ligne
toujours dans la construction de mon user.php j'ai besoin de créer pour liste déroulante pour la profession
voici mon code mais je ne sais pas mis prendre pour récupérer la valeur du choix dans une variable $profession
un $_POST['profession'] doit te donner ce que tu cherches comme pour une variable normale
Quel est ton problème exactement ?
a+
Jean-Paul
Hors ligne
Non mais monsieur tu aurais du t'abstenir
je rage de mon manque de compétence en php et toi tu me fait languir avec ton petit message
espèce de bourreau va !!!
en tous cas merci de ton boulot car tu fait tout pour rendre ziteplus ultra complet
T'as pas de chance: pour ce module il faut modifier le code user.config.php du répertoire module/config.
cela est fait et fonctionne
veut tu ses rajout
un zite+ associatif http://asso.gard.a.toi.free.fr
création de site internet dans le Gard et Ardèche http://www.creation-site-internet-gard.com/
Hors ligne
Quel est ton problème exactement ?
j'ai besoin de remplacé cette ligne
if ($this->getOption('showprofession')) $out .= '<tr><td>'.$this->get_message('profession').'</td><td><input name="profession" type="text" id="profession" value="'.$profession.'" '.($del ? 'readonly' : '').' size="25%" /></td></tr>';
par un <select>
quand je met ce code dans user.php ainsy que dans user_auto j'ai un retour array mais pas ma sélection
ma variable est déclarer plus haut
$profession = preg_replace('/[^\w_\-\'\040]*/','',$_POST['profession']);
Dernière modification par snypi (02/06/2012 18:46:39)
un zite+ associatif http://asso.gard.a.toi.free.fr
création de site internet dans le Gard et Ardèche http://www.creation-site-internet-gard.com/
Hors ligne
C'est logique que tu aies un array en retour.
Normalement ta sélection est dans le tableau retourné. Tu peux faire un
print_r($_POST['profession'])
pour vérifier le contenu du tableau
et tu devrais avoir la valeur que tu recherches dans $_POST['profession'][0] si l'utilisateur a bien fait un choix
a+
Jean-Paul
Hors ligne
merci jpg pour la piste mais j'ai l'impréssion que ce n'est pas la bonne méthode
si joint mon code de user_auto.php
désolé pour le block de code
mais comment faire pour que l'utilisateur puisse sélectionné son statu socio professionel
<?php
/*
module: Auto enregistrement des utilisateurs
Copyright Jean-Paul GIAUSSERAND 2009-2010
Site: http://www.giausserand.fr/index.php?perma=ziteplus
Licence : CeCILL-B, http://www.cecill.info
v1.6 02/06/12 Ajout zone adresse telephone profession + class au tableau pour personalisation
v1.5 15/09/10 Ajout zone http et password pour le message admin
v1.4 27/10/09 Ajout options de configuration + anvoi message admin + renvoi sur page
v1.3 24/10/09 suppression zone password
envoi du mot de passe après activation du compte
v1.2 13/10/09 ajout de l'utilisateur au groupe "logon"
v1.1 10/10/09 ajout des options
v1.0 27/08/09 Création du module
*/
class Tuser_auto extends Tmodule {
function new_password($length) {
$allowedchars = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_";
$password = '';
$max=strlen($allowedchars)-1;
for ($i=1;$i<=$length;$i++) {
$password .= substr($allowedchars, mt_rand(0, $max), 1);
}
return $password;
}
//
function dojob($opt="") {
parent::dojob();
//normaliser les paramètres d'appel du module
if (self::$cms->args[0]=='module') array_shift(self::$cms->args);
$file = self::$cms->cpath.'/user.dta';
$err=false; $errsend=false;
if (self::$cms->args[1]=='v') { // tentative de validation du compte
$usernew = ereg_replace('[^[:digit:][:alpha:]]','',strtolower(trim(self::$cms->args[2])));
$usercode = ereg_replace('[^[:digit:][:alpha:]_]','',trim(self::$cms->args[3]));
if (self::$cms->user[$usernew][3]) { // utilisateur actuellement désactivé
$filename = self::$cms->cpath.'/ztemp/'.$usernew.'-'.$usercode;
if (file_exists($filename)) {//activer l'utilisateur
$password = $this->new_password($this->getOption('passwordlen'));
self::$cms->user = (array)unserialize(@file_get_contents($file));
self::$cms->user[$usernew][3]=0;
self::$cms->user[$usernew][0]=md5($password);
self::$cms->writedata($file, self::$cms->user);
unlink($filename);
// Envoi d'un mail à l'utilisateur avec nom d'uilisateur et password
$user = self::$cms->user[$usernew];
$desc = $user[1];
$nom = $user[5];
$prenom = $user[6];
$mailTo = $user[4];
$mailSubject = $this->getOption('mailsubjectok');
$mailMessage = $this->getOption('mailmessageok');
$mailMessage = str_ireplace('[http]',self::$cms->rewritebase.self::$cms->base.'login',$mailMessage);
$mailMessage = str_ireplace('[login]',$usernew,$mailMessage);
$mailMessage = str_ireplace('[password]',$password,$mailMessage);
$errsend |= !mail($mailTo, $mailSubject, $mailMessage);
if (!$errsend && $this->getOption('adminnotify')) {//Envoyer un message à l'administrateur: nouvel utilisateur
$mailSubject = str_ireplace('[site]',self::$cms->config['site_id'],$this->getOption('mailsubjectadmin'));
$mailMessage = str_ireplace('[login]',$usernew,$this->getOption('mailmessageadmin'));
$mailMessage = str_ireplace('[mail]',$user[4],$mailMessage);
$mailMessage = str_ireplace('[ip]',$_SERVER['REMOTE_ADDR'],$mailMessage);
$mailMessage = str_ireplace('[http]',self::$cms->rewritebase.self::$cms->base.'login',$mailMessage);
$mailMessage = str_ireplace('[password]',$password,$mailMessage);
@mail($this->getOption('mailadmin'),$mailSubject,$mailMessage);
}
if (!$errsend) {
if (strlen(trim($this->getOption('pagedestactivation')))) {
header('Location: '.self::$cms->rewritebase.$this->getOption('pagedestactivation'));
} else return '<div class="zalert">'.$this->get_message('msgactif').'</div>';
}
} else return $this->get_message('err_activation');
} else return $this->get_message('err_activation');
} elseif (isset($_POST['save'])&&($_POST['save']=='ok')) { // tentative de création du compte
$name = ereg_replace('[^[:digit:][:alpha:]]','',strtolower(trim($_POST['name'])));
$password = $this->new_password($this->getOption('passwordlen'));
$desc = $_POST['desc'];
$prenom = $_POST['prenom'];
$nom = $_POST['nom'];
$adresse = $_POST['adresse'];
$codepostal = $_POST['codepostal'];
$ville = $_POST['ville'];
$telephone = $_POST['telephone'];
$profession = $_POST['profession'][0];
// $champlibre = $_POST['champlibre'];
$mail = ereg_replace('[^[:digit:][:alpha:].@-_]','',trim($_POST['mail']));
$errmail = !preg_match("#^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$#", $mail); // mauvaise adresse mail
$mail2 = ereg_replace('[^[:digit:][:alpha:].@-_]','',trim($_POST['mail2']));
$errmail2 = $mail != $mail2;
$errname = empty($name)||isset(self::$cms->user[$name]); // pas d'utilisateur ou l'utilisateur existe déjà}
$err = $err | $errname | $errmail | $errmail2;
if (!$err) {
// Créer l'utilisateur en mode inactif
self::$cms->user = (array)unserialize(@file_get_contents($file));
$f = &self::$cms->user;
$f[$name][0] = md5($password);
$f[$name][1] = $desc;
$f[$name][2] = array('logon'); //group;
$f[$name][3] = $this->getOption('useroff'); //inactif;
$f[$name][4] = $mail;
$f[$name][5] = $nom;
$f[$name][6] = $prenom;
$f[$name][8] = $adresse;
$f[$name][9] = $codepostal;
$f[$name][10] = $ville;
$f[$name][11] = $telephone;
$f[$name][12] = $profession;
// $f[$name][13] = $this->getOption('facu_oblig'); // champ facultatif ou obligatoire
// $f[$name][13] = $champlibre;
self::$cms->writedata($file, self::$cms->user);
//
$usercode = $this->new_password(64);
file_put_contents(self::$cms->cpath.'/ztemp/'.$name.'-'.$usercode,'',LOCK_EX);
// Notifier l'utilisateur d'un mél
$mailTo = $mail;
$mailSubject = $this->getOption('mailsubject');
$mailMessage = $this->getOption('mailmessage')."\"".self::$cms->rewritebase.self::$cms->base.'user_auto|v|'.$name.'|'.$usercode.'"';
if (mail($mailTo, $mailSubject, $mailMessage)) {
self::$cms->msgShow('done_ok');
if (strlen(trim($this->getOption('pagedestinscription')))) {
header('Location: '.self::$cms->rewritebase.$this->getOption('pagedestinscription'));
} else return '<div class="zalert">'.$this->get_message('msgcreate').'</div>';
} else $errsend=true;
}
} else {
$name=$desc=$prenom=$nom=$mail=$message='';
}
$err = $err | $errsend;
if ($err) {
if ($errname) self::$cms->msgShow($this->get_message('err_baduser'),false);
if ($errmail) self::$cms->msgShow($this->get_message('err_badmail'),false);
if ($errmail2) self::$cms->msgShow($this->get_message('err_badmail2'),false);
if ($errsend) self::$cms->msgShow($this->get_message('err_sendmail'),false);
// if ($errchamp) self::$cms->msgShow($this->get_message('err_champvide'),false);
}
$password = $this->new_password(8); // à mettre en paramètre
$out = '<form method="post" action="'.self::$cms->base.'user_auto" enctype="multipart/form-data"><table class="ztable inscription">';
$out .= '<tr><td colspan="4"><center><h1>'.$this->get_message('title').'</h1></center></td></tr>';
$out .= '<tr><td class="label">'.$this->get_message('username').'</td><td><input name="name" type="text" id="name" value="'.$name.'" '.($del ? 'readonly' : '').($errname?' class="zerr" ':'').' /> '.$this->get_message('username_desc').'</td></tr>';
$out .= '<tr><td class="label">'.$this->get_message('mail').' </td><td><input name="mail" type="text" value="'.$mail.'" '.($errmail?' class="zerr" ':'').'>'.' '.'</td></tr>';
$out .= '<tr><td class="label">'.$this->get_message('mail2').' </td><td><input name="mail2" type="text" value="'.$mail2.'" '.($errmail2?' class="zerr" ':'').'>'.' '.'</td></tr>';
if ($this->getOption('showname')) {
$out .= '<tr><td>'.$this->get_message('firstname').' - '.$this->get_message('lastname').' </td><td><input name="prenom" type="text" value="'.$prenom.'" > <input name="nom" type="text" value="'.$nom.'" > '.$this->get_message('zonefree').'</td></tr>';
}
if ($this->getOption('showadresse')) {
$out .= '<tr><td class="label">'.$this->get_message('adresse').' </td><td><input name="adresse" size="45" type="text" id="adresse" value="'.$adresse.'" > '.$this->get_message('zonefree').'</td></tr>';
$out .= '<tr><td class="label">'.$this->get_message('codepostal').' - '.$this->get_message('ville').' </td><td><input name="codepostal" type="text" size="5" maxlength="5" id="codepostal" value="'.$codepostal.'" > - <input name="ville" type="text" size="33" id="ville" value="'.$ville.'" ></td></tr>';
}
/* if ($this->getOption('showprofession')) {
$out .= '<tr><td class="label">'.$this->get_message('profession').' </td><td><input name="profession" type="text" id="profession" value="'.$profession.'" >'.$this->get_message('zonefree').'</td></tr>';
}*/
if ($this->getOption('showprofession')) $out .= '<tr><td>'.$this->get_message('profession').'</td><td>
<label class="label-top" for="profession[0]"> Profession</label>
<div class="input-wide"><span class="sub-label-container"><select class="dropdown" name="profession[0]"'.($del ? 'disabled' : '').' style="width:150px" id="profession">
<option selected="" value="casseur de noix"> casseur de noix </option>
<option value="fumiste"> fumiste </option>
<option value="docteur"> docteur </option>
<option value="geek"> geek </option></select>
<label class="sub-label" for="profession"> Votre profession est : '.$_POST['profession'][0].' </label></span> </td></tr>';
if ($this->getOption('showtelephone')) {
$out .= '<tr><td class="label">'.$this->get_message('telephone').' </td><td><input name="telephone" type="number" size="10" maxlength="10" id="telephone" value="'.$telephone.'" >'.$this->get_message('zonefree').'</td></tr>';
}
if ($this->getOption('showdesc')) {
$out .= '<tr><td class="label">'.$this->get_message('desc').'</td><td><input name="desc" type="text" id="desc" value="'.$desc.'" '.($del ? 'readonly' : '').' size="60%" /> '.$this->get_message('zonefree').'</td></tr>';
}
$out .= '</table><table class="ztable">';
$out .= '<tr><td colspan="2" class="envoyer"><input type="submit" name="Submit" value="'.self::$cms->get_message('submit').'" /><input name="save" type="hidden" value="ok" /><input name="password" type="hidden" id="password" value="'.$password.'" /></td></tr></table></form>';
return $out;
}
function Init() {
$this->module_brother = 'user';
parent::Init();
}
}
?>
un zite+ associatif http://asso.gard.a.toi.free.fr
création de site internet dans le Gard et Ardèche http://www.creation-site-internet-gard.com/
Hors ligne
merci jpg pour la piste mais j'ai l'impréssion que ce n'est pas la bonne méthode
si joint mon code de user_auto.php
désolé pour le block de code
mais comment faire pour que l'utilisateur puisse sélectionné son statu socio professionel
si si c'est la bonne méthode et elle marche
je viens de tester: on sélectionne la profession, on valide et le formulaire récupère bien cette valeur, la variable indiquée $_POST['profession'][0] contient bien la profession sélectionnée si elle existe.
Par contre, il manque dans ton formulaire la sélection dans la liste déroulante de la valeur choisie
une piste: c'est un 'SELECTED' qu'il faut mettre dans la balise "OPTION"
un petit exemple tiré du module selectdoc:
foreach (self::$cms->group as $clef => $valeur )
$out .= '<option '.(in_array($clef,$groupW)?'selected':'').' value="'.$clef.'">'.$clef.'</option>';
dans ton cas, cela un truc de la sorte:
<option value="fumiste" '.($_POST['profession'][0]=='fumiste'?"selected":'').'> fumiste </option>
<option value="docteur" '.($_POST['profession'][0]=='docteur'?"selected":'').'> docteur </option>
<option value="geek" '.($_POST['profession'][0]=='geek'?"selected":'').'> geek </option></select>
Par contre, avec un code comme celui là tu seras plus fumiste que geek
a+
Jean-Paul
ps: le code du module a évolué, tu utilises une ancienne version il me semble (version 1.6 du 29/04 sur le site)
Hors ligne
c'est super cool de t'avoir en support merci
j'essaye de suite
je suis sur un mise à jour de ziteplus de la 9.2 rc (je ne sais plu laquel) vers la 9.2
le module user ne se met pas à jours lors d'un update ??
le 1.6 c'est moi qui l'ai mis c'était pour orienté une évolution du module
on à sur ton site en téléchargement la version v1.5 15/09/10 Ajout zone http et password pour le message admin
pas de 1.6 !!! ta caché des évolutions dans tes tiroires ?
que pense tu de rajouté c'est choix de manière systématique
adresse et téléphone
d'autre part lors de l'affichage des utilisateurs si pouvais choisir les options à affiché cela pourrais être super top pour faire une mailling list ou une analyse géographique des inscripts etc ...
Dernière modification par snypi (02/06/2012 23:11:23)
un zite+ associatif http://asso.gard.a.toi.free.fr
création de site internet dans le Gard et Ardèche http://www.creation-site-internet-gard.com/
Hors ligne
je suis sur un mise à jour de ziteplus de la 9.2 rc (je ne sais plu laquel) vers la 9.2
le module user ne se met pas à jours lors d'un update ??
le 1.6 c'est moi qui l'ai mis c'était pour orienté une évolution du module
on à sur ton site en téléchargement la version v1.5 15/09/10 Ajout zone http et password pour le message admin
pas de 1.6 !!! ta caché des évolutions dans tes tiroires ?
Elle est bien en vu ici: http://www.giausserand.fr/index.php?per … moduleplus
tu remarqueras le très explicite "màj version de base"
c'est sorti après la 0.9.2 (comme la mise à jour du module photoshow)
C'est d'ailleurs accessible directement depuis un ziteplus 0.9.2 par l'option "module" et "ajout depuis le site officiel" (enfin, sauf chez Free en ce moment, vu qu'il bloque )
a+
Jean-Paul
Hors ligne
arfff je pense pas à allé voir sur ton site pour faire des Maj
c'est bien fait pour moi
je reprend donc mon aventure avec la maj
un zite+ associatif http://asso.gard.a.toi.free.fr
création de site internet dans le Gard et Ardèche http://www.creation-site-internet-gard.com/
Hors ligne
c'est bon pour ce soir !!
j'ai pas réussi à faire ce que je voulais réellement avec ma liste à séléctionné grrrrr! (c'est frustrant mais pas dramatique)
en même temps en travaillant sur la gestion des utilisateurs j'ai cogité à des évolutions de ce module voila à quoi j'ai pensé
- date d'inscription, de création de l'utilisateur
- possibilité de trier les utilisateur (par ordre alpha | par groupe etc...)
- possibilité de choisir l'affichage des utilisateurs pour l'admin (exemple je veut que s'affiche nom prénom ville teléphone ou login group mail profession ....)
- possibilité de dire si un champs est optionnel ou obligatoire
- peut être aussi la possibilité de supprimé son compte en tant qu'utilisateur
et 2 petite remarque sur le module actuel
- le descriptif : lorsque l'utilisateur vient modifier sont profil il y à accès ! je pensais que c'était + un truc pour l'admin
- lorsque qu'on est utilisateur et qu'on vient modifier son profil on à pas de message comme quoi la modif à bien été faite
ps : question si on stock sur le site adresse mail tel etc ... faut il déclarer le site à la CNIL??
++ affaire à suivre
Dernière modification par snypi (03/06/2012 00:54:42)
un zite+ associatif http://asso.gard.a.toi.free.fr
création de site internet dans le Gard et Ardèche http://www.creation-site-internet-gard.com/
Hors ligne
en même temps en travaillant sur la gestion des utilisateurs j'ai cogité à des évolutions de ce module voila à quoi j'ai pensé
- date d'inscription, de création de l'utilisateur
- possibilité de trier les utilisateur (par ordre alpha | par groupe etc...)
- possibilité de choisir l'affichage des utilisateurs pour l'admin (exemple je veut que s'affiche nom prénom ville teléphone ou login group mail profession ....)
- possibilité de dire si un champs est optionnel ou obligatoire
Pourquoi pas, il faut voir
- peut être aussi la possibilité de supprimé son compte en tant qu'utilisateur
Non, ça ce n'est pas du tout souhaitable.
On pourrait imaginer une demande ou une fermeture de compte, mais la suppression doit rester sous le controle de l'admin/webmaster/gestionnaire du site
et 2 petite remarque sur le module actuel
- le descriptif : lorsque l'utilisateur vient modifier sont profil il y à accès ! je pensais que c'était + un truc pour l'admin
Comme quoi, on voit tous les choses différemment: pour moi c'était logique de le laisser à la disposition de l'utilisateur
- lorsque qu'on est utilisateur et qu'on vient modifier son profil on à pas de message comme quoi la modif à bien été faite
Pas de nouvelles ... bonnes nouvelles
En général, un message de réussite sous ZitePLUS n'est envoyé que si l'utilisateur ne peut pas se rendre compte par lui-même de la réussite de l'opération: par exemple comme l'envoi d'un message par le module contact.
Actuellement, ZitePLUS signale plutot les messages d'erreurs.
ps : question si on stock sur le site adresse mail tel etc ... faut il déclarer le site à la CNIL??
ça dépend de certains facteurs: site perso ou pas, finalité du recueil des infos => il faut aller voir sur le site de la CNIL
a+
Jean-Paul
Hors ligne
Vu sur quoi tu travailles ... un petit avant gout de la 0.9.3a1
Dans cette version on peut personnaliser certains formulaires (user, contact ...) et étendre le fonctionnement des modules associés tout en gardant les contrôles de bases de ces modules
Une nouvelle classe va faire son apparition: Tform qui va permettre de manipuler ces formulaires facilement
Pour l'instant, c'est du pré-alpha, mais si tu veux participer aux tests le moment venu, tu es le bienvenu
a+
Jean-Paul
Hors ligne
Pour l'instant, c'est du pré-alpha, mais si tu veux participer aux tests le moment venu, tu es le bienvenu
avec plaisir
un zite+ associatif http://asso.gard.a.toi.free.fr
création de site internet dans le Gard et Ardèche http://www.creation-site-internet-gard.com/
Hors ligne