This repository was archived by the owner on Mar 30, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathcreercompte.php
More file actions
executable file
·196 lines (173 loc) · 7.66 KB
/
Copy pathcreercompte.php
File metadata and controls
executable file
·196 lines (173 loc) · 7.66 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
<?php
/**
* This page let the user create its account
*
* @author Pierre HUBERT
*/
//Initializate page
include('inc/initPage.php');
//Inclusion du crypt
$cryptinstall=path_3rdparty("crypt/cryptographp.fct.php");
include $cryptinstall;
//On vérifie si l'utilisateur est connecté
if(isset($_SESSION['ID']))
{
header('Location: index.php');
die();
}
//On vérifie si il y a une demande de redirection
if(isset($_GET['redirect']) OR isset($_POST['redirect']))
$redirect = (isset($_GET['redirect']) ? $_GET['redirect'] : $_POST['redirect']);
?>
<!DOCTYPE html>
<html id="new_account">
<head>
<title>Creation de compte</title>
<?php include(pagesRelativePath('common/head.php')); ?>
</head>
<body class="metro">
<?php include(pagesRelativePath('common/pageTop.php')); ?>
<?php
//Correctif de sécurité
if(!isset($_POST['validation']))
$_POST['validation'] = false;
//Si tous les champs ne sont pas disponibles, on fait comme si il n'y avait rien
if((!isset($_POST['nom'])) || (!isset($_POST['prenom'])) || (!isset($_POST['mail'])) || (!isset($_POST['password'])) || (!isset($_POST['confirmpassword'])) || (($activimagevalidation == 1) && (!isset($_POST['validation']))))
{
//Rien
}
//Vérifions que tous les champs ont été remplis ainsi que la correspondance des mots de passe
elseif(($_POST['nom'] == '') || ($_POST['prenom'] == '') || ($_POST['mail'] == '') || ($_POST['password'] == '') || ($_POST['confirmpassword'] == '') || (($activimagevalidation == 1) && ($_POST['validation'] == "")) || ($_POST['password'] != $_POST['confirmpassword']))
{
$erreur = "Tous les champs n'ont pas été remplis ou les mots de passe saisis ne sont pas les mêmes .<br />";
}
//Vérifions si le code de l'image de validation est incorrect
elseif(($activimagevalidation == 1) && (!chk_crypt($_POST['validation'])))
{
$erreur = "Le code de l'image de validation est incorrect.<br />";
}
else
{
//On prépare la vérification de sécurité
$tableau_a_verifier = array($_POST['nom'], $_POST['prenom'], $_POST['mail']);
//On l'exécute
if(trouve_caractere_tableau($tableau_a_verifier, '<') || trouve_caractere_tableau($tableau_a_verifier, '>') || trouve_caractere_tableau($tableau_a_verifier, ';') || trouve_caractere_tableau($tableau_a_verifier, ',') || trouve_caractere_tableau($tableau_a_verifier, '{'))
{
//Message d'erreur de sécurité
$erreur = "Les caractères suivants sont interdits pour le nom, le prénom et l'adresse mail : > et < et ; et , et { ";
}
elseif(!filter_var($_POST['mail'], FILTER_VALIDATE_EMAIL))
{
//Message d'erreur: email incorrect
$erreur = "L'adresse mail saisie est incorrecte.";
}
else
{
//On peut créer le compte
//Préparation des variables
$nom = str_replace("'", '', $_POST['nom']);
$prenom = str_replace("'", '', $_POST['prenom']);
$mail = str_replace("'", '', $_POST['mail']);
$password = sha1($_POST['password']);
$password = crypt($password, $password);
//Preparation de la requete SQL
$sql = "INSERT INTO utilisateurs (nom, prenom, date_creation, mail, password) VALUES ('".$nom."', '".$prenom."', NOW(), '".$mail."', '".$password."') ";
//Execution de la requete SQL
$insertion = $bdd->query($sql);
//Vérification de l'autorisation de l'envoi d'un mail
if($active_envoi_mail == "oui")
{
//Envoi d'un message de confirmation
$send_mail = true;
$sujet = "Confirmation de création de compte";
$description_rapide = "Confirmation de création de compte Comunic";
$nom_destinataire = $prenom." ".$nom;
$adresse_mail_destinataire = $mail_user = $mail;
$texte_message = "
<h3 class='titre'>Félicitations !</h3>
<p>Votre compte a été bien créé. Vous pouvez dès maintenant utiliser Comunic et rechercher vos amis.</p>
<p>Voici les informations générales de votre nouveau compte Comunic.</p>
<table>
<tr><td>Nom</td><td>".$nom."</td></tr>
<tr><td>Prénom</td><td>".$prenom."</td></tr>
<tr><td>Adresse mail</td><td>".$mail."</td></tr>
<tr><td>Mot de passe</td><td>________________________</td></tr>
</table>
<p>Nous vous recommandons d'imprimer cette page et de compléter le champs \"Mot de passe\" puis de conserver la page imprimée en lieu sûr.
</p>";
//Envoi du message
include('inc/envoi_mail.php');
}
//Confirmation de l'inscription
//Message de succès
$account_created_check = true;
include('inc/account_created.php');
//Fermeture de la page
die('</body></html>');
}
}
?><div class="nouveau_corps_page">
<h2 class='titre'>Creation de compte</h2>
<?php
//Si nécessaire, message d'erreur
if(isset($erreur)) affiche_message_erreur($erreur, true);
?>
<!-- Formulaire d'inscription -->
<form action='<?php echo $_SERVER['PHP_SELF']; ?>' name='nouveaucompte' method='post' id="newaccount">
<!-- Prénom de l'utilisateur -->
<label>Prénom</label>
<div class="input-control text">
<input type='text' name='prenom' placeholder="Saisissez votre prénom" value='<?php echo (isset($_POST['prenom']) ? $_POST['prenom'] : ""); ?>'/>
</div>
<!-- Fin de: Prénom de l'utilisateur -->
<!-- Nom de l'utilisateur -->
<label>Nom</label>
<div class="input-control text">
<input type='text' name='nom' placeholder="Saisissez votre nom" value='<?php echo (isset($_POST['nom']) ? $_POST['nom'] : ""); ?>'/>
</div>
<!-- Fin de: Nom de l'utilisateur -->
<!-- Adresse mail de l'utilisateur -->
<label>Adresse mail <small><i class="icon-warning"></i> Attention : L'adresse mail ne pourra être modifiée ultérieurement.</small></label>
<div class="input-control text">
<input type='mail' name='mail' id="mailarea" placeholder="Saisissez votre adresse mail" value='<?php echo (isset($_POST['mail']) ? $_POST['mail'] : ""); ?>'/>
</div>
<!-- Fin de: Adresse mail de l'utilisateur -->
<!-- Mot de passe de l'utilisateur -->
<label>Mot de passe</label>
<div class="input-control password" data-role="input-control">
<input placeholder="Saisissez votre mot de passe" name="password" type="password">
</div>
<!-- Fin de: Mot de passe de l'utilisateur -->
<!-- Confirmer le mot de passe de l'utilisateur -->
<label>Mot de passe</label>
<div class="input-control password" data-role="input-control">
<input placeholder="Saisissez à nouveau votre mot de passe pour le confirmer" name="confirmpassword" type="password">
</div>
<!-- Fin de: Confirmer le mot de passe de l'utilisateur -->
<?php if ($activimagevalidation == 1) { ?>
<!-- Image de validation -->
<div style="text-align: center;">
<?php dsp_crypt(0,1, false); ?>
</div>
<div class="input-control text">
<input type='text' name='validation' placeholder="Recopiez le code de validation" />
</div>
<!-- Fin de: Image de validation -->
<?php } ?>
<!-- Bouton de confirmation -->
<div style="text-align: center;"><input type='button' value='Creer le compte' onClick="if (validermail('mailarea')) document.getElementById('newaccount').submit();" /></div>
<!-- Fin de: Bouton de confirmation -->
<!-- Redirection automatique -->
<?php
if(isset($redirect))
echo "<input type='hidden' name='redirect' value='".$redirect."' />";
?>
<!-- /Redirection automatique -->
<a href='about.php?cgu' target='_blank'><?php echo $lang[46]; ?></a>
</form>
</div>
<hr />
<?php include(pagesRelativePath('common/pageBottom.php')); ?>
<!-- Fin du formulaire d'insciption -->
</body>
</html>