Bonjour,
Je ne pense pas que ça soit bien compliqué, mais après de multiples essais... impossible de trouver la solution.
En gros, j'ai un espace membre, avec un session['admin'] et une session['membre'], si je suis connecté entant qu'admin, alors je peux avoir accès au formulaire de commentaires de ma page, si je suis connecté entant que membre, exactement la même chose, et si je ne suis n'y un membre, ni un admin, alors le formulaire de commentaires est caché, et affiche un message pour aller se connecter ou s'inscrire.
Ca marche niquel si je suis un admin, le problème c'est que je n'arrive pas à mettre la même chose mais pour le membre.... je ne sais si je dois rajouter un if en dessous, ou dans le même etc.... sauriez vous me dire ?
Voici le code complet de la page + en dessous le traitement admin/membre de ma page de connexion.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10<?php if(isset($_SESSION['admin'])){ $id = $_SESSION['admin']; $requser = $db->prepare('SELECT * FROM membres WHERE id = ?'); $requser->execute(array($id)); $admininfo = $requser->fetch(); ?>
Cordialement.
INDEX.PHP
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 <?php session_start(); require 'db/database.php'; /* ON RECUPERE LES COMMENTAIRES */ $commentaires = $db->query("SET NAMES utf8"); $commentaires = $db->query('SELECT pseudo,time, message FROM commentaires ORDER BY id DESC'); $coms = $commentaires->fetchAll(); ?> <?php include 'partials/header.php'; ?> <div class="wrapper"> <h1 class="text-logo">Poster un commentaire</h1> <form id="1" class="form-accueil-contact" action="commentaires-traitement.php" method="POST"> <?php if(isset($_SESSION['admin'])){ $id = $_SESSION['admin']; $requser = $db->prepare('SELECT * FROM membres WHERE id = ?'); $requser->execute(array($id)); $admininfo = $requser->fetch(); ?> <?php if(array_key_exists('errors', $_SESSION)): ?> <div class="flash flash-danger"> <?= implode('<br>', $_SESSION['errors']); ?> </div> <br> <?php endif; ?> <?php if(array_key_exists('success', $_SESSION)): ?> <div class="flash flash-success"> Votre commmentaire à bien été publié. </div> <br> <?php endif; ?> <div class="row"> <div class="col-sm-12"> <div class="form-group"> <label>Identifiant <span class="etoile-rouge">*</span></label> <input type="text" class="form-control-commentaires" name="pseudo" readonly="readonly" value="<?php if(isset($_SESSION['membres'])) { echo "$membreinfo->name"; } ?><?php if(isset($_SESSION['admin'])) { echo "$admininfo->name"; } ?>"> </div> </div> <div class="col-sm-12"> <div class="form-group"> <label>E-mail <span class="etoile-rouge">*</span></label> <input type="text" class="form-control-commentaires" name="email" readonly="readonly" value="<?php if(isset($_SESSION['membres'])) { echo $membreinfo->email; } ?><?php if(isset($_SESSION['admin'])) { echo $admininfo->email; } ?>"> </div> </div> <div class="col-sm-12"> <div class="form-group"> <label>Message <span class="etoile-rouge">*</span></label> <textarea id="message" type="text" class="form-control-commentaires" name="message"><?= isset($_SESSION['inputs']['message']) ? $_SESSION['inputs']['message'] : ''; ?></textarea> </div> </div> <div class="col-sm-12"> <div class="form-group"> <button class="bouton bouton-success" type="submit" class="form-bouton"><span class="glyphicon glyphicon-send"> ENVOYER</span></button> </div> </div> </div> <?php } else { echo "<div class='flash flash-danger'>Veuillez vous <a class='index-liens' href='http://localhost:8090/mescreations/connexion'>connecter</a> pour publier un commentaire<br> Pas encore de compte ? <a class='index-liens' href='http://localhost:8090/mescreations/inscription'>inscrivez vous ici</a> !</div>"; } ?> <!-- ON AFFICHE LES COMMENTAIRES --> <div class="text-titre-commentaires">Commentaires</div> <?php foreach ($coms as $c) { echo '<tr>'; echo '<td><img class="avatar-accueil-commentaires" src="images/icons/avatar.png"><span class="label-accueil-commentaires">' . $c->pseudo . '</span></td><br>'; echo '<td><span class="time-accueil-commentaires">' . $c->time . '</span></td><br><br>'; echo '<td><div class="separateur"></div></td>'; echo '<td><span class="message-accueil-commentaires">' . $c->message . '</span></td><br><br><br><br>'; echo '</td>'; echo '</tr>'; } ?> </form> </div> <!-- FIN div WRAPPER --> </body> </html>
CONNEXION:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 <?php session_start(); include 'db/database.php'; if(!empty($_POST)) { $errors = []; $success = []; extract($_POST); $valid = true; if(!preg_match("/^[a-z0-9\-_.]+@[a-z0-9\-_.]+\.[a-z]{2,3}$/i",$email)) { $valid = false; $errors['email'] = "Votre e-mail n'est pas valide."; } if(empty($email)) { $valid = false; $errors['email'] = "Vous n'avez pas rempli votre e-mail"; } if(empty($pass)) { $valid = false; $errors['pass'] = "Vous n'avez pas rempli le mot de passe."; } if($valid) { $email = filter_var($_POST['email'], FILTER_VALIDATE_EMAIL); $pass = sha1($_POST['pass']); $reqadmin = $db->prepare('SELECT * FROM membres WHERE email = ? AND pass = ? AND statut = "administrateur"'); $reqadmin->execute(array($email, $pass)); $adminexist = $reqadmin->rowCount(); if($adminexist == 1) { $admininfo = $reqadmin->fetch(); $_SESSION['admin'] = $admininfo->id; $_SESSION['name'] = $admininfo->name; $_SESSION['email'] = $admininfo->email; $_SESSION['flash']['success'] = "Vous êtes maintenant connecté en tant qu'admin."; header("Location: http://localhost:8090/mescreations/admin.php?id=". $_SESSION['admin']); //header("Location: http://mescreations02.apps-1and1.net/admin?id=".$_SESSION['id']); exit(); } $reqmembre = $db->prepare('SELECT * FROM membres WHERE email = ? AND pass = ? AND statut = "membre"'); $reqmembre->execute(array($email, $pass)); $membreexist = $reqmembre->rowCount(); if($membreexist == 1) { $membreinfo = $reqmembre->fetch(); $_SESSION['membre'] = $membreinfo->id; $_SESSION['name'] = $membreinfo->name; $_SESSION['email'] = $membreinfo->email; $_SESSION['flash']['success'] = "Vous êtes maintenant connecté en tant que membre"; header("Location:http://localhost:8090/mescreations/membre.php?id=". $_SESSION['membre']); exit(); } $errors['all'] = "L'e-mail ou le mot de passe est invalide."; } } ?> <?php include 'partials/header.php'; ?> <body style="background: rgba(255,182,193,0.9);"> <div class="wrapper-connexion"> <h1 class="text-logo-connexion">Connexion</h1> <?php if(isset($_SESSION['flash'])): ?> <?php foreach($_SESSION['flash'] as $type => $message): ?> <div class="flash flash-<?= $type; ?>"> <?= $message; ?> </div> <?php endforeach ?> <?php unset($_SESSION['flash']); ?> <?php endif; ?> <br> <?php if(!empty($errors)): ?> <div class="flash flash-danger"> <span class="fa fa-exclamation-circle" style="font-size: 20px"></span><p class="attention" style="font-weight: bold;">ATTENTION</p><br> <?php foreach($errors as $error): ?> <?= $error; ?><br> <?php endforeach; ?> </div> <?php endif; ?> <br> <div class="content"> <form class="formulaire-inscription" action="connexion.php" method="POST"> <input id="email" type="text" class="form-control-connexion" name="email" placeholder="E-mail *" value="<?php if(isset($_POST['email'])) { echo $_POST['email']; } ?>"> <input id="pass" type="password" class="form-control-connexion" name="pass" placeholder="Mot de passe *" value="<?php if(isset($_POST['pass'])) { echo $_POST['pass']; } ?>"> <button type="submit" class="bouton bouton-success" name="submit">VALIDER</button> <a href="http://localhost:8090/mescreations/oublie"> <div class="forget-pass"> Mot de passe oublié ?</div> </a> <p style="text-align: center; padding:25px">Pas encore de compte ? <a href="inscription.php" style="color: #7A3E51 !important; font-weight: bold;">inscrivez vous ici.</a></p> </form> </div> </div> <!-- fin DIV WRAPPER -->







Répondre avec citation

Partager