MyBB.support, le portail francophone de MyBB
Date de naissance obligatoire - Version imprimable

+- MyBB.support, le portail francophone de MyBB (https://mybb.support)
+-- Forum : MyBB.fr (https://mybb.support/forum-1.html)
+--- Forum : Support (https://mybb.support/forum-5.html)
+--- Sujet : Date de naissance obligatoire (/thread-3061.html)



Date de naissance obligatoire - Jujufield - 22-09-2010

Bonjour,

J'aimerais rendre le champ "date de naissance" obligatoire à l'inscription. Comment faire ?

Merci d'avance,

Jujufield


RE: Date de naissance obligatoire - jujude67 - 22-09-2010

Panneaux ACP ==>Configuration ==> Champs de profil personnalisés ==> ajouter un champs de profils ==>


Titre * : date de naissance

Courte description * : Comme tu veut Smile

Type de champ * : comme tu veut Smile

Longueur maximum * : comme tu veut Smile

Requis ? *
Oui
Éditable par l'utilisateur ? *
Non
Cacher dans le profil ? *
Non


RE: Date de naissance obligatoire - Jujufield - 22-09-2010

Ce que tu me proposes je sais le faire Wink Et j'ai déjà testé ^^ Ca ferait 2 endroits où l'on peut remplir la date de naissance (champ à l'inscription + détails du profil =S).

Je voudrais pouvoir rendre le champ "date de naissance", qui est modifiable dans les paramètres avancés du profil, obligatoire lors de l'inscription Wink comme sur la plupart des forums phpbb par exemple Wink Ca doit bien pouvoir se faire =)


RE: Date de naissance obligatoire - haytoch - 22-09-2010

Salut ,
Pour que la date de naissance soit remplier encours d'inscription il vous faut quelque modifications car il n'y a aucun mode pour ce truc ; et voila les modification après avoir tester dans le localhost est ca marche :

1***Dans le Fichier "Member.php":

Chercher :
Code PHP :
$user['birthday'] = array(
        
"day" => $mybb->input['bday1'],
        
"month" => $mybb->input['bday2'],
        
"year" => $mybb->input['bday3']
    ); 
Ajouter Aprés ceci :
Code PHP :
$bdaysel '';
    for(
$i 1$i <= 31$i++)
    {
        if(
$user['birthday'][0] == $i)
        {
            
$bdaydaysel .= "<option value=\"$i\" selected=\"selected\">$i</option>\n";
        }
        else
        {
            
$bdaydaysel .= "<option value=\"$i\">$i</option>\n";
        }
    } 

Puis souvgarder.
2***Dans le fichier "inc/datahandlers/user.php":
Chercher:
Code PHP :
$birthday['day'] = intval($birthday['day']);
        
$birthday['month'] = intval($birthday['month']);
        
$birthday['year'] = intval($birthday['year']); 
Ajouter Après Ceci :
Code PHP :
if(!$birthday['day'] || !$birthday['month'] || !$birthday['year'])
            {
                
$this->set_error("invalid_birthday");
                return 
false;
            } 
Puis Souvgarder ;
3***APC==>Temlates==>Member_Template==>"member_register"

Effacer Le Continue et Remplacer par ceci :

Code PHP :
<html>
<
head>
<
title>{$mybb->settings['bbname']} - {$lang->registration}</title>
{
$headerinclude}
</
head>
<
body>
{
$header}
<
br />
<
form action="member.php" method="post">
{
$regerrors}
<
table border="0" cellspacing="{$theme['borderwidth']}cellpadding="{$theme['tablespace']}class="tborder">
<
tr>
<
td class="thead" colspan="2"><strong>{$lang->registration}</strong></td>
</
tr>
<
tr>
<
td width="50%" class="trow1" valign="top">
<
fieldset class="trow2">
<
legend><strong>{$lang->account_details}</strong></legend>
<
table cellspacing="0" cellpadding="{$theme['tablespace']}">
<
tr>
<
td colspan="2"><span class="smalltext">{$lang->username}</span></td>
</
tr>
<
tr>
<
td colspan="2"><input type="text" class="textbox" name="username" size="40" value="{$username}/></td>
</
tr>
{
$passboxes}
<
tr>
<
td><span class="smalltext">{$lang->email}</span></td>
<
td><span class="smalltext">{$lang->confirm_email}</span></td>
</
tr>
<
tr>
<
td><input type="text" class="textbox" name="email" size="20" maxlength="50" value="{$email}/></td>
<
td><input type="text" class="textbox" name="email2" size="20" maxlength="50" value="{$email2}/></td>
</
tr>
<
tr>
<
td colspan="3"><span class="smalltext">{$lang->birthday}</span></td>
</
tr>
<
tr>
<
td>
<
select name="bday1">
<
option value="" selected>&nbsp;</option>
{
$bdaysel}
</
select>
</
td>
<
td>
<
select name="bday2">
<
option value="">&nbsp;</option>
<
option value="1" {$bdaymonthsel['1']}>{$lang->month_1}</option>
<
option value="2" {$bdaymonthsel['2']}>{$lang->month_2}</option>
<
option value="3" {$bdaymonthsel['3']}>{$lang->month_3}</option>
<
option value="4" {$bdaymonthsel['4']}>{$lang->month_4}</option>
<
option value="5" {$bdaymonthsel['5']}>{$lang->month_5}</option>
<
option value="6" {$bdaymonthsel['6']}>{$lang->month_6}</option>
<
option value="7" {$bdaymonthsel['7']}>{$lang->month_7}</option>
<
option value="8" {$bdaymonthsel['8']}>{$lang->month_8}</option>
<
option value="9" {$bdaymonthsel['9']}>{$lang->month_9}</option>
<
option value="10" {$bdaymonthsel['10']}>{$lang->month_10}</option>
<
option value="11" {$bdaymonthsel['11']}>{$lang->month_11}</option>
<
option value="12" {$bdaymonthsel['12']}>{$lang->month_12}</option>
</
select>
</
td>
<
td>
<
input type="text" class="textbox" size="4" maxlength="4" name="bday3" value="{$bday['2']}/>
</
td>
</
tr>
</
table>
</
fieldset>
{
$requiredfields}
{
$referrer}
{
$regimage}
</
td>
<
td width="50%" class="trow1" valign="top">
<
fieldset class="trow2">
<
legend><strong>{$lang->account_prefs}</strong></legend>
<
table cellspacing="0" cellpadding="{$theme['tablespace']}">
<
tr>
<
td valign="top" width="1"><input type="checkbox" class="checkbox" name="allownotices" id="allownotices" value="yes" {$allownoticescheck} /></td>
<
td valign="top"><span class="smalltext"><label for="allownotices">{$lang->allow_notices}</label></span></td>
</
tr>
<
tr>
<
td valign="top" width="1"><input type="checkbox" class="checkbox" name="hideemail" id="hideemail" value="yes" {$hideemailcheck} /></td>
<
td valign="top"><span class="smalltext"><label for="hideemail">{$lang->hide_email}</label></span></td>

</
tr>
<
tr>
<
td valign="top" width="1"><input type="checkbox" class="checkbox" name="emailnotify" id="emailnotify" value="yes" {$emailnotifycheck} /></td>
<
td valign="top"><span class="smalltext"><label for="emailnotify">{$lang->email_notify}</label></span></td>
</
tr>
<
tr>
<
td valign="top" width="1"><input type="checkbox" class="checkbox" name="receivepms" id="receivepms" value="yes" {$receivepmscheck} /></td>
<
td valign="top"><span class="smalltext"><label for="receivepms">{$lang->receive_pms}</label></span></td>
</
tr>
<
tr>
<
td valign="top" width="1"><input type="checkbox" class="checkbox" name="pmpopup" id="pmpopup" value="yes" {$pmpopupcheck} /></td>
<
td valign="top"><span class="smalltext"><label for="pmpopup">{$lang->pm_popup}</label></span></td>
</
tr>
<
tr>
<
td valign="top" width="1"><input type="checkbox" class="checkbox" name="emailpmnotify" id="emailpmnotify" value="yes" {$emailpmnotifycheck} /></td>
<
td valign="top"><span class="smalltext"><label for="emailpmnotify">{$lang->email_notify_newpm}</label></span></td>
</
tr>
<
tr>
<
td valign="top" width="1"><input type="checkbox" class="checkbox" name="invisible" id="invisible" value="yes" {$invisiblecheck} /></td>
<
td valign="top"><span class="smalltext"><label for="invisible">{$lang->invisible_mode}</label></span></td>
</
tr>
</
table>
</
fieldset>
<
br />
<
fieldset class="trow2">
<
legend><strong>{$lang->time_offset}</strong></legend>
<
table cellspacing="0" cellpadding="{$theme['tablespace']}">
<
tr>
<
td colspan="2"><span class="smalltext">{$lang->time_offset_desc}</span></td>
</
tr>
<
tr>
<
td>{$tzselect}</td>
</
tr>
<
tr>
<
td valign="top" colspan="2"><input type="checkbox" class="checkbox" name="enabledst" id="enabledst" value="yes" {$enabledstcheck} />   <span class="smalltext"><label for="enabledst">{$lang->enable_dst}</label></span></td>
</
tr>
</
table>
</
fieldset>
<
br />
<
fieldset class="trow2">
<
legend><strong>{$lang->lang_select}</strong></legend>
<
table cellspacing="0" cellpadding="{$theme['tablespace']}">
<
tr>
<
td colspan="2"><span class="smalltext">{$lang->lang_select_desc}</span></td>
</
tr>
<
tr>
<
td><select name="language"><option value="">{$lang->lang_select_default}</option><option value="">-----------</option>{$langoptions}</select></td>
</
tr>
</
table>
</
fieldset>
</
td>
</
tr>
</
table>
<
br />
<
div align="center">
<
input type="hidden" name="action" value="do_register" />
<
input type="submit" class="button" name="regsubmit" value="{$lang->submit_registration}/>
</
div>
</
form>
{
$footer}
</
body>
</
html

Et bonne chance Wink
Amicalement Haytoch



RE: Date de naissance obligatoire - Jujufield - 22-09-2010

Ok merci ! Je vais tester ça ! Merci beaucoup de t'être occupé de ma demande Wink


RE: Date de naissance obligatoire - haytoch - 22-09-2010

de rien Smile


RE: Date de naissance obligatoire - Jujufield - 23-09-2010

J'ai testé, pas de forum qui plante ! 1ere étape ok ^^

Sinon ça s'affiche bien dans les champs obligatoires donc c'est parfait ! Mais j'ai fais un test et j'ai réussi à m'inscrire sans rentrer de date Sad

Peut être que le code ne marche pas comme il faut :

Code PHP :
if(!$birthday['day'] || !$birthday['month'] || !$birthday['year'])
{
$this->set_error("invalid_birthday");
return false;
}

=S


Et je voulais savoir, la date que l'on rentre ici, elle correspond à la date du champ optionnel ? Ou ça reste deux champs différents où l'on peut mettre 2 dates différentes =S Peut-être qu'il faudrait la faire disparaître des champs optionnels si maintenant elle est obligatoire ?

Et pour finir, c'est toi qui a codé ? =)

Merci beaucoup en tout cas !

Jujufield


RE: Date de naissance obligatoire - haytoch - 27-09-2010

Oui c vrais il me faut donc autres modifications !!!!!

ok je les fait pour le rendre Obligatoire Smile


RE: Date de naissance obligatoire - Jujufield - 28-09-2010

Merci ! Et OK pour le MP, je comprends tout à fait Wink


RE: Date de naissance obligatoire - haytoch - 03-10-2010

@Jujufield,
Pour mettre la date Obliguatoire en inscription des nouveaux membres :
APC==>Configuration==>Options d'Enregistrement et de Profil==> Chercher "Conformité COPPA"==>Choisie "deny users under The age of 13" .
Si vous voulez changer "age=13" par un autres de votre choix :
dans le fichier "member.php"
chercher
Code PHP :
// User is <= 13, we mark as a coppa user
            
if($bdaytime >= mktime(000my_date('n'), my_date('d'), my_date('Y')-13)) 
Puis changer 13 par votre age Préféré .

Pour la premiére Solution je suis encours d'essayé si possible de le mettre obliguatoire.


RE: Date de naissance obligatoire - Jujufield - 04-10-2010

Ok merci, ce qui permettrait en effet de ne pas valider l'inscription si il n'y a pas de date Wink

Mais en modifiant un peu le code que tu m'as donné pour que

Code PHP :
if(!$birthday['day'] || !$birthday['month'] || !$birthday['year'])
{
$this->set_error("invalid_birthday");
return 
false;


marche, ça ne serait pas plus simple ?



Et sinon ?


Jujufield a écrit :Et je voulais savoir, la date que l'on rentre ici, elle correspond à la date du champ optionnel ? Ou ça reste deux champs différents où l'on peut mettre 2 dates différentes =S Peut-être qu'il faudrait la faire disparaître des champs optionnels si maintenant elle est obligatoire ?



RE: Date de naissance obligatoire - haytoch - 06-10-2010

ok il y a un qui crié un mode a partir de ce que je vous postez déja
vous pouvez l'utilisez
téléchargez le sur ce lien : http://mods.mybb.com/uploads/downloads/2324-1286307798-dobonreg.zip

langue français


RE: Date de naissance obligatoire - Jujufield - 19-10-2010

Merci d'avance, je n'ai pas encore eu le temps de tester c'est pour ça que je n'avais pas répondu. J'essaye bientôt Wink


RE: Date de naissance obligatoire - Jujufield - 02-11-2010

Bon c'est la méga grosse loose xD

Est-ce que tu pourrais me passer les fichiers originaux que j'ai modifié pour la page d'inscription stp ? car là j'ai plusieurs champs de date de naissance, aucun n'est obligatoire ...

J'aimerais repartir à 0 ^^

Merci


RE: Date de naissance obligatoire - haytoch - 03-11-2010

Les fichier originale sont dans le dossier : "inc/language/english"

et traduit les comme vous voulez.


RE: Date de naissance obligatoire - Jujufield - 03-11-2010

Merci je vais tester Wink


 Utilitaire de traduction fourni par Regentronique