Bonjour à tous, je vous explique, j'ai un site libertin et je souhaite modifier dans le fichier enregister.php la date de naissance actuellement elle est daté jusqu'à 2012 et je veux remplacer la première value en 1994 et finir par 1913. Mon code actuel est celui-ci si ça peut vous aider. En gros, interdire mon site aux mineurs et l'autoriser exclusivement à partir de 18 ans !!
[php
if (!(defined('__KWS__'))) {die ('Erreur d\'appel de fichier.');}
if (!empty($K_pseudo) and get_grade() < GRD_ADMIN)
{
header('Location: index.php');
exit();
}
//df_print_r($_POST);
// Initialisation
$K_domainesMails_bloques = unserialize($K_domainesMails_bloques);
$bool_regles = ($K_ReglesAff == 'on' && !empty($K_ReglesSite));
$bool_form = true;
$bool_ok = true;
$erreur = '';
if (isset($_POST['sql_newPseudo']) and strlen($_POST['sql_newPseudo']) > 2)
{
$new_pseudo = trim($_POST['sql_newPseudo']);
}
else
{
$new_pseudo = '';
$bool_ok = false;
}
if (isset($_POST['sql_newPass']) && isset($_POST['sql_newPass2']) && strlen($_POST['sql_newPass']) > 4 && $_POST['sql_newPass2'] == $_POST['sql_newPass'])
{
$new_pass = $_POST['sql_newPass'];
}
else
{
$new_pass = '';
$bool_ok = false;
}
if (isset($_POST['sql_newMail']) && isset($_POST['sql_newMail2']) && strlen($_POST['sql_newMail']) > 4 && $_POST['sql_newMail2'] == $_POST['sql_newMail'])
{
$email = $_POST['sql_newMail'];
}
else
{
$email = '';
$bool_ok = false;
}
if (is_module('agenda') && $agenda_anniv=='on')
{
if (!empty($_POST['int_naissAn']) and !empty($_POST['int_naissMois']) and !empty($_POST['int_naissJour']))
{
$date_naissance = $_POST['int_naissAn'].'-'.$_POST['int_naissMois'].'-'.$_POST['int_naissJour'];
}
else
{
$date_naissance = '';
$bool_ok = false;
}
}
else
{
$date_naissance = '';
}
// traitement du formulaire POSTé
if (isset($_POST['ok']))
{
unset($erreur);
if($bool_regles)
{
$requete = reqmysql("
SELECT `questionnaire_reponse`.`id` AS id_reponse,
`questionnaire_reponse`.`juste` AS juste
FROM `questionnaire_reponse`
LEFT JOIN `questionnaire_question`
ON `questionnaire_question`.`id` = `questionnaire_reponse`.`id_question`
WHERE `questionnaire_question`.`module` = 'regle'
ORDER BY `questionnaire_question`.`id` ASC, `questionnaire_reponse`.`id` ASC
");
if (mysql_num_rows($requete) != 0)
{
while ($ligne = mysql_fetch_object($requete))
{
if ($_POST['reponse'.$ligne->id_reponse] != $ligne->juste)
{
$erreur = '';
break;
}
}
}
}
// Vérification des champs obligatoires
$req = reqmysql('
SELECT `id`
FROM `users`
WHERE LOWER(`pseudo`) = "'.strtolower($new_pseudo).'" OR `email` = "'.$email.'"
');
if (mysql_num_rows($req) > 0) $bool_ok = false;
if (strtolower($new_pseudo)=='ancien membre' OR strtolower($new_pseudo)=='ancienmembre' OR strtolower($new_pseudo)=='ancien_membre' OR
preg_match('#admin[0-9]*?#',strtolower($new_pseudo)) OR preg_match('#administrateur[0-9]*?#',strtolower($new_pseudo)) OR preg_match('#webmaster[0-9]*?#',strtolower($new_pseudo)) OR
strtolower($new_pseudo) == 'identifiant'
) $bool_ok = false;
$atom = '[-a-z0-9!#$%&\'*+\\/=?^_`{|}~]'; // caractères autorisés avant l'arobase
$domain = '([a-z0-9]([-a-z0-9]*[a-z0-9]+)?)'; // caractères autorisés après l'arobase (nom de domaine)
$regex = '/^' . $atom . '+' . // Une ou plusieurs fois les caractères autorisés avant l'arobase
'(\.' . $atom . '+)*' . // Suivis par zéro point ou plus
// séparés par des caractères autorisés avant l'arobase
'@' . // Suivis d'un arobase
'(' . $domain . '{1,63}\.)+' . // Suivis par 1 à 63 caractères autorisés pour le nom de domaine
// séparés par des points
$domain . '{2,63}$/i'; // Suivi de 2 à 63 caractères autorisés pour le nom de domaine
$domaine_extrait=preg_replace('!^[a-z0-9._-]+@(.+)$!', '$1', $email);
if (!preg_match($regex, $email) OR in_array($domaine_extrait, $K_domainesMails_bloques) OR
in_array($email, $K_domainesMails_bloques) OR !$bool_ok OR (sha1($_POST['code_secu'].date('Ymd')) != $_POST['code']) OR
preg_match('#[<>[\]\(\),;.:/\\`²\'"©®&]#',$new_pseudo)
)
{
$erreur = '
<div style="background-color:#fee;border: 1pt dashed #f00; margin:1em; padding:1em;">
'.df_message(
'erreur',
'<div><strong>ENREGISTREMENT NON VALIDE !!</strong></div>',
'<div>
'.(!$bool_ok ? 'Cet identifiant est déjà pris (ou réservé) ou cet e-mail est déjà utilisé par un autre membre.
<br />ou nombre de caractères insuffisant dans un des champs.
<br />'.((is_module('agenda')&& $agenda_anniv=='on') ? 'ou date de naissance invalide<br />':''):'').'
'.(preg_match('#[<>[\]\(\),;.:/\\`²\'"©®&]#',$new_pseudo) ? 'Contient des caractères interdits dans votre identifiant.<br />':'').'
'.(!preg_match($regex, $email) ? 'Adresse email invalide.<br />':'').'
'.((in_array($domaine_extrait, $K_domainesMails_bloques) || in_array($email, $K_domainesMails_bloques)) ? 'Adresse email ou domaine interdit.<br />':'').'
'.((sha1($_POST['code_secu'].date('Ymd')) != $_POST['code']) ? 'Vous avez saisi un mauvais code de sécurité.<br />':'').'
ou tous les champs marqués par une étoile ne sont pas remplis.<br />
</div>'
).'
</div>';
}
elseif (isset($erreur))
{
$erreur = '
<div style="background-color:#fee;border: 1pt dashed #f00; margin:1em; padding:1em;">
'.df_message(
'erreur',
'<p><strong>ENREGISTREMENT NON VALIDE !!</strong><p>',
'<p>Le questionnaire n\'a pas été correctement rempli.</p>'
).'
</div>';
}
// les champs obligatoires sont OK
else
{
$mot_passe = md5($new_pass);
$mp_popup = $K_mp_grade == GRD_MEMBR ? 1 : 0;
$popup = $K_mp_grade == GRD_MEMBR ? 1 : 0;
$date = time();
// Options de validation
$waza = '';
$i = 0;
while ($new_pass[$i] != NULL)
{
$waza .= chr(fmod(ord($new_pass[$i])+127,254));
$i ++;
}
bloc_head('Enregistrement réussi !');
echo '
<h3>Inscription réussie !</h3>';
switch ($K_validation_enregistrement)
{
// Validation d'enregistrement par email
case 'email' :
$statut = STU_ATTVAL;
$randome = rand(0,9).rand(0,9).rand(0,9).rand(0,9).rand(0,9).rand(0,9).rand(0,9).rand(0,9).rand(0,9).rand(0,9).rand(0,9).rand(0,9).rand(0,9).rand(0,9).rand(0,9).rand(0,9).rand(0,9).rand(0,9).rand(0,9).rand(0,9).rand(0,9).rand(0,9).rand(0,9).rand(0,9).rand(0,9).rand(0,9).rand(0,9).rand(0,9).rand(0,9).rand(0,9);
require_once './includes/class.mail.php';
$mail = new kws_mail();
$mail->add_adresses(array($K_expediteur => $K_email_expediteur), 'From');
$mail->add_adresses(array($new_pseudo => $email), 'To');
$mail->set_sujet('Merci de confirmer votre inscription sur « '.$K_nom_page.' »');
$message = str_replace ('%cle%', $randome, $mailvalidation);
$message = str_replace ('%url_site%', $K_url_site, $message);
$message = str_replace ('%pseudo%', ax($new_pseudo), $message);
$mail->set_message($message, 'multi');
$mail->envoyer();
echo '
<p>Un mail va vous être envoyé,<br />
veuillez suivre le lien qu’il contient pour valider votre inscription.</p>
<form style="text-align:center;" method="post" action="index.php">
<input type="submit" id="submit" name="submit" value=" Retour à l’accueil " />
</form><br />';
break;
//Validation d'enregistrement par admin/moderateur
case 'modo' :
$statut = STU_ATTVAL;
echo '
<p>Un administrateur doit valider votre inscription avant de pouvoir vous connecter.<br />
Un mail vous informera que votre compte a été validé.</p>
<p>Merci de votre patience ...</p>
<form style="text-align:center;" method="post" action="./index.php">
<p><input type="submit" value=" Retour à l\'accueil " /></p>
</form><br />';
break;
// Pas de validation des inscriptions
default :
$statut = STU_VALIDE;
require_once './includes/class.mail.php';
$mail = new kws_mail();
$mail->add_adresses(array($K_expediteur => $K_email_expediteur), 'From');
$mail->add_adresses(array($new_pseudo => $email), 'To');
$mail->set_sujet('Bienvenue sur « '.$K_nom_page.' »');
$message = str_replace ('%pseudo%', ax($new_pseudo), $mailbienvenue);
$message = str_replace ('%url_site%', $K_url_site, $message);
$message = str_replace ('%pass%', $new_pass, $message);
$mail->set_message($message, 'multi');
$mail->envoyer();
echo '
<p>Vous pouvez désormais vous identifier!</p>
<form style="text-align:center" method="post" action="./index.php?mod=espace_membre&ac=login">
<p><input type="submit" id="submit" name="submit" value=" Se connecter " /></p>
</form>';
}
close_table();
//Requete d'insertion du nouvel utilisateur dans la table users
$req = reqmysql ('
INSERT INTO `users`
SET `pseudo` = "'.$new_pseudo.'",
`pass` = "'.$mot_passe.'",
`pass2` = "'.($statut!=0 ? str_replace('"','"', $waza) : '').'",
`email` = "'.$email.'",
`theme` = "'.$K_theme.'",
`aff_news` = "'.$K_news_aff_default.'",
`aff_email` = "0",
`mp_popup` = "'.$mp_popup.'",
`popup` = "'.$popup.'",
`date` = "'.$date.'",
`avatar` = "./images/avatars/upload/quiestce.png",
`flood` = "'.$date.'",
`date_der_connec` = "9999999999",
`statut` = "'.$statut.'",
`cle` = "'.$randome.'"
');
$K_user->id = mysql_insert_id();
//Requete d'insertion du nouvel utilisateur dans la table users_cplt
$req2 = reqmysql ('
INSERT INTO `users_cplt`
SET `id_pseudo` = "'.$K_user->id.'"
');
//Requete d'insertion du mail à la newsletter si l'option est activé
if (is_module('newsletter'))
{
$K_newsletter_options = unserialize($K_newsletter_options);
if ($K_newsletter_options['auto_inscrit'] == 'oui')
{
$req3 = reqmysql ('
INSERT INTO `newsletter`
SET `email` = "'.$email.'",
`news` = "1"
');
}
}
//Envoi du MP de remerciement d'inscription
if ($K_msgbienvenue_Envoi == 'on' and $K_mp_grade >=GRD_MEMBR)
{
include_once './includes/mp.php';
envoi_mp($K_expediteurMP, $K_user->id, 'Merci de vous être inscrit !', $K_msgbienvenue, 0, 2, $new_pseudo, $email, 'basse');
}
// Requète ajoutée pour date naissance de l'agenda
if (is_module('agenda') && $agenda_anniv=='on')
{
$req2 = reqmysql('
INSERT INTO `agenda_anniv`
SET `pseudo` = "'.$new_pseudo.'",
`id_mbr` = "'.$K_user->id.'",
`date_naissance`= "'.$date_naissance.'",
`aff_naissance` = "1"
');
}
$bool_form = false;
}
}
// Affichage du formulaire
if($bool_form)
{
bloc_head('Inscription');
if (isset ($_POST['ok']) && $erreur != '')
{
echo $erreur;
}
if ($K_validation_enregistrement == 'email')
{
$_Mess_Valid_Compte = '
<div style="font-variant:small-caps;font-weight:bold">
Validation par e-mail activée : vous recevrez un mail de validation !<br />
Vous avez '.($K_validation_delai_del % 4==0 ? ($K_validation_delai_del/4).' mois':$K_validation_delai_del.' semaine'.($K_validation_delai_del>1?'s':'')).' pour l\'activer.
</div>';
}
elseif ($K_validation_enregistrement == 'modo')
{
$_Mess_Valid_Compte = '
<div style="font-variant:small-caps;font-weight:bold">
Votre compte sera validé après vérification par l’administrateur.<br />
Dans le cas contraire, le compte sera effacé automatiquement dans '.($K_validation_delai_del % 4==0 ? ($K_validation_delai_del/4).' mois':$K_validation_delai_del.' semaine'.($K_validation_delai_del>1?'s':'')).'.
</div>';
}
$code_confirm = gen_reg_key();
$_SESSION['code_confirm'] = $code_confirm;
$dte = sha1($code_confirm.date('Ymd'));
include 'enregistrer_js.php';
if (is_module('newsletter'))
{
$K_newsletter_options = unserialize($K_newsletter_options);
if ($K_newsletter_options['auto_inscrit'] == 'oui')
{
$Infos_Newsletter_Inscription = '<br />Vous serez inscrit automatiquement à notre newsletter. Vous pourrez la désactiver par la suite via votre compte.';
}
}
// Formulaire d'enregistrement
$style_mess_control = 'width:230px;float:right;border:2px dotted red';
echo '
<form method="post" enctype="multipart/form-data" name="new_user" id="new_user" action="index.php?mod=espace_membre&ac=enregistrer" onsubmit="return verif_envoyer();">
<input type="hidden" name="code" id="code" value="'.$dte.'" />
<input type="hidden" name="xss_retour" value="index.php'.($_SERVER['QUERY_STRING']!='' ? '?'.htmlspecialchars($_SERVER['QUERY_STRING']) : '').'" />
<fieldset style="margin:1em; padding:1em;">
<legend><strong><span style="color:#FF0000"><strong>*</strong></span> Champs obligatoires</strong></legend>
'.df_message('','D’autres champs optionnels et / ou obligatoires seront accessibles via votre compte'.$Infos_Newsletter_Inscription).'
<p>
<label class="label_enregistrer1" for="sql_newPseudo"><span style="color:#FF0000"> <strong>*</strong></span> Identifiant : </label>
<input name="sql_newPseudo" id="sql_newPseudo" maxlength="30" size="30" value="'.ax($new_pseudo).'" onkeyup="verif_form(this);" onblur="verif_form(this);" />
<span class="mini_message" id="pseudook"><em> (3 caractères minimum)</em></span>
</p>
<p>
<label class="label_enregistrer1" for="sql_newPass"><span style="color:#FF0000"> <strong>*</strong></span> Mot de passe : </label>
<input type="password" name="sql_newPass" id="sql_newPass" maxlength="20" size="20" value="'.ax($new_pass).'" onkeyup="verif_form(this);" onblur="verif_form(this);" />
<span class="mini_message" id="passok"><em> (5 caractères minimum)</em></span>
</p>
<p>
<label class="label_enregistrer1" for="sql_newPass2"><span style="color:#FF0000"> <strong>*</strong></span> Confirmez votre mot de passe : </label>
<input type="password" name="sql_newPass2" id="sql_newPass2" maxlength="20" size="20" onkeyup="verif_form(this);" onblur="verif_form(this);" />
<span class="mini_message" id="passverifok"><em> (Doit être identique au précédant)</em></span>
</p>
<p id="secupass" style="display:none;">
<label class="label_enregistrer1" for="sql_newPass"> Niveau de sécurité du mot de passe : </label>
<span id="Words"><input value="" disabled="disabled" /></span>
</p>
<p>
<label class="label_enregistrer1" for="sql_newMail"><span style="color:#FF0000"> <strong>*</strong></span> E-mail<sup>(1)</sup> : </label>
<input name="sql_newMail" id="sql_newMail" maxlength="40" size="30" value="'.ax($email).'" onkeyup="verif_form(this);" onblur="verif_form(this);" />
<span class="mini_message" id="mailok">Email valide</span>
</p>
<p>
<label class="label_enregistrer1" for="sql_newMail2"><span style="color:#FF0000"> <strong>*</strong></span> Confirmez votre E-mail : </label>
<input name="sql_newMail2" id="sql_newMail2" maxlength="40" size="30" onkeyup="verif_form(this);" onblur="verif_form(this);" />
<span class="mini_message" id="mailverifok">Doit être identique au précédant</span>
</p>';
if (is_module('agenda') && $agenda_anniv=='on')
{
// agenda
echo '<br />
<p>
<label class="label_enregistrer1" for="int_naissjour"><span style="color:#FF0000"> <strong>*</strong></span> Date de Naissance : </label>
<select name="int_naissJour" id="int_naissjour" onchange="verif_form(this);"><option value="0">jour</option>';
for ($i=1;$i<=31;$i++) {
echo '<option value="'.$i.'"'.($_POST['int_naissJour']==$i ? ' selected="selected"' : '').'>'.$i.'</option>';
}
echo '</select> <select name="int_naissMois" id="int_naissMois" onchange="verif_form(this);"><option value="0">mois</option>';
for ($i=1;$i<=12;$i++) {
echo '<option value="'.$i.'"'.($_POST['int_naissMois']==$i ? ' selected="selected"' : '').'>'.$i.'</option>';
}
echo '</select> <select name="int_naissAn" id="int_naissAn" onchange="verif_form(this);"><option value="0">année</option>';
for ($i=date("Y");$i>=date("Y")-100;$i--) {
echo '<option value="'.$i.'"'.($_POST['int_naissAn']==$i ? ' selected="selected"' : '').'>'.$i.'</option>';][/php]
Merci beaucoup par avance.