accueil.php 8.24 KB
Newer Older
1
2
3
<?php
// // Gestion des sessions
session_start(); // Demmare la Session
4
5
6
// if (!isset($_SESSION['login'])) {
//   header('Location:index.php');
// }
7
?>
8
9
<!doctype html>
<html lang="fr">
10
	<head>
11
12
13
14
		<meta charset="utf-8">
		<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
		<meta name="description" content="">
		<meta name="author" content="">
15
		<link rel="shortcut icon" type="image/x-icon" href="/Imgs/favicon.ico"/>
16

System Administrator's avatar
System Administrator committed
17
		<title>Accueil</title>
18

19
20
		<!-- Bootstrap core CSS -->
		<link href="./style/css/bootstrap.css" rel="stylesheet">
21

22
23
		<!-- Custom styles for this template -->
		<link href="./style/css/sticky-footer-navbar.css" rel="stylesheet">
24

Romain Benit's avatar
Romain Benit committed
25

26
		<script type="text/javascript">
27
28
29
30
31
32
		
			function bascule(id) { 
				if (document.getElementById(id).style.visibility == "hidden")
						document.getElementById(id).style.visibility = "visible"; 
				else	document.getElementById(id).style.visibility = "hidden"; 
			} 
Romain Benit's avatar
Romain Benit committed
33

34
		</script> 
35

36
	</head>
Romain Benit's avatar
Romain Benit committed
37
	<body >
38
39

		<?php
40
41
			//Appel au header du site
			include('header.php');
42

43
			// BENIT Romain
44
45
			// V2.0
			// 13/12/18
46

47
48
			// Afficher les erreurs à l'écran
			ini_set('display_errors', 1);
49
			// Elements de connexion à la BDD
50
			require_once("paramcon.php");
51

52
			// Déclaration du compteur pour déterminer la réussite de nos requêtes SQL
53
			$compt=0;
54

Romain Benit's avatar
Romain Benit committed
55
			// Si nous avons déjà un session, nous ne faisons pas les contrôles
56
57
			if ( !empty($_SESSION['login']) ) {
				?>
Romain Benit's avatar
Romain Benit committed
58
59
60
61
62
63
				<h1>Vous êtes bien connecté <?php echo $_SESSION['login']; ?> !</h1>
				<br>
				<form action="write.php">
					<button class="btn btn-outline-secondary" type="submit">Écrire un message</button>
				</form>
				<br>
64

Romain Benit's avatar
Romain Benit committed
65
66
				<button class="btn btn-outline-secondary" onclick="bascule('form');">Lire un message</button>

Romain Benit's avatar
Romain Benit committed
67
				<form METHOD="post" ACTION="consommateur.php" id="form" style="visibility: hidden;">
Romain Benit's avatar
Romain Benit committed
68
69
70
71
72
73
74
		    			<p>Nom de topic</p>
    					<div class="form-group">
		        		    	<input type="text" class="form-control" name="topic" value="" required/>
          				</div>

					<p>Mot de passe : </p>
					<div class="form-group">
75
			        	    	<input type="password" class="form-control" name="pass_topic" value="" pattern=".{6,}" required/>
Romain Benit's avatar
Romain Benit committed
76
77
78
79
80
81
          				</div>
          	
          				<div class="form-group">
						<input class="btn btn-outline-secondary" type="submit" name="Valider" value="Valider">
					</div>
			    	</form>
82

Romain Benit's avatar
Romain Benit committed
83
				<?php
84

85
    			include('footer.php'); 
86
87
88
				exit;
			}

89
90
91
92
93
			// Phase de tests des champs entré par l'utilisateur
			if( empty($_POST['login']) ) {
			// on vérifie que le champ "Login" n'est pas vide
			// empty vérifie à la fois si le champ est vide et si le champ existe belle et bien (is set)
				?>
94
95
96
97
98
				<form class="error" action="deconnexion.php">
						<p>Le champ login est vide.</p>
						<input class="btn bnt-outline-secondary" type="submit" value="Retour">
					</form> 
				<!-- <form class='error'>
99
100
					<p>Le champ login est vide.</p>
					<button class="btn bnt-outline-secondary"><a href="index.php">Retour</a></button>
101
				</form> -->
102
103
104
105
106
107
				<?php
				exit;
			}
			// On vérifie maintenant si le champ "Password" n'est pas vide
			elseif( empty($_POST['password']) ) {
				?>
108
109
110
111
112
				<form class="error" action="deconnexion.php">
						<p>Le champ mot de passe est vide.</p>
						<input class="btn bnt-outline-secondary" type="submit" value="Retour">
				</form> 
				<!-- <form class='error'>
113
114
					<p>Le champ mot de passe est vide.</p>
					<button class="btn bnt-outline-secondary"><a href="index.php">Retour</a></button>
115
				</form> -->
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
				<?php
				exit;
			}
			// Les champs sont bien posté et pas vide, on poursuit
			else {
				// On sécurise les données entrées par le membre.
				// Le htmlentities() passera les guillemets en entités HTML, ce qui empêchera les injections SQL.
				// Le strtolower va transformer un str en minuscule.
				$login = htmlentities(strtolower ( $_POST['login'] ), ENT_QUOTES, "ISO-8859-1");
				$password = htmlentities($_POST['password'], ENT_QUOTES, "ISO-8859-1");

				// On se connecte à la base de données
				$connexion = new PDO('mysql:host='.$lehost.';port='.$leport.';dbname='.$dbname, $user, $pass);

				// On envoie la requête
				$resultats=$connexion->query("SELECT login,password,email,nom,prenom FROM utilisateurs WHERE login='".$login."'");
				$resultats->setFetchMode(PDO::FETCH_OBJ);
				while( $resultat = $resultats->fetch() ){
					$compt++;
					// Ecriture des nouvelles valeurs dans le tableau de session
					$_SESSION['login'] = $login;
					$_SESSION['email'] = $resultat->email;
					$_SESSION['nom'] = $resultat->nom;
					$_SESSION['prenom'] = $resultat->prenom;
					$_SESSION['password'] = $resultat->password;
141
142
143
144
145
146
				}

				// Fermeture de la connexion à la base de données
				$resultats->closeCursor();

				// Test sur la réussite de la reqête
Romain Benit's avatar
commit    
Romain Benit committed
147
				if ( $compt == 0 ) {
148
					?>
149
					<form class="error" action="deconnexion.php">
150
						<p>Erreur sur l'identifiant.</p>
151
152
153
154
155
						<input class="btn bnt-outline-secondary" type="submit" value="Retour">
					</form> 
					<!-- <form class='error'>
						<p>Erreur sur l'identifiant.</p>

156
						<a class="btn bnt-outline-secondary" href="index.php">Retour</a>
157

158
					</form> -->
159
160
161
162
					<?php
					exit;
				}

163
164
165
166
				// Vérification du mot de passe hashé
				if (password_verify($password, $_SESSION['password'])) {
					// Tout est OK, nous affichons la page voulue
					if ($_POST['topic'] == "topic") {
167
						//Appel au header du site
168
						include('header.php');
169
						?>
170
171
172
173
						<h1>Vous êtes bien connecté <?php echo $login; ?> !</h1>
						<br>
						<form action="write.php">
							<button class="btn btn-outline-secondary" type="submit">Écrire un message</button>
174
						</form>
175
						<br>
176
177
						<button class="btn btn-outline-secondary" onclick="bascule('form');">Lire un message</button>

178
		                                <form METHOD="post" ACTION="consommateur.php" id="form" style="visibility: hidden;">
179
180
181
182
183
184
185
        		                                <p>Nom de topic</p>
        	        	                        <div class="form-group">
        	        	                                <input type="text" class="form-control" name="topic" value="" required/>
        	        	                        </div>
	
        	                	                <p>Mot de passe : </p>
        	                        	        <div class="form-group">
186
        	                                	        <input type="password" class="form-control" name="pass_topic" value="" pattern=".{6,}" required/>
187
188
189
190
191
192
193
194
        	                                	</div>
	
	                                        	<div class="form-group">
                                        	        	<input class="btn btn-outline-secondary" type="submit" name="Valider" value="Valider">
                                        		</div>
                               			 </form>
					

195
						<?php
196
					} else {
197
198
199
200
201
202
203
204
205
						$_SESSION['login'] = $login;
						?>
						<form METHOD="post" ACTION="consommateur.php" >

							<!-- Envoi en caché du nom de topic -->
							<input name="topic" type="hidden" value="<?php echo $_POST['topic']; ?>">

                                                        <p>Mot de passe : </p>
                                                        <div class="form-group">
206
                                                                <input type="password" class="form-control" name="pass_topic" value="" pattern=".{6,}" required/>
207
208
209
210
211
212
213
214
                                                        </div>

                                                        <div class="form-group">
                                                                <input class="btn btn-outline-secondary" type="submit" name="Valider" value="Valider">
                                                        </div>
                                                 </form>
						<?php
						//require_once("consommateur.php");
215
					}
216

217
218
				} else {
					?>
219
220
221
222
223
					<form class="error" action="deconnexion.php">
						<p>Erreur sur le mot de passe.</p>
						<input class="btn bnt-outline-secondary" type="submit" value="Retour">
					</form> 
					<!-- <form class='error'>
224
225
						<p>Erreur sur le mot de passe.</p>
						<button class="btn bnt-outline-secondary"><a href="index.php">Retour</a></button>
226
					</form> -->
227
228
229
					<?php
					exit;
				}
230
			}
231
232
			
    		include('footer.php'); 
233
		?>
Maxime Mallet's avatar
Maxime Mallet committed
234
		</body>
235
</html>
236