Ajout du bandeau dans la page profil

This commit is contained in:
remi.biette 2019-05-17 06:34:13 +02:00
parent 6b1e6bf907
commit c53f87c82f
2 changed files with 68 additions and 52 deletions

View File

@ -1,7 +1,7 @@
*{
margin: 0;
padding: 0;
font-family: "Arial";
font-family: Arial;
}
#divImgProfil{

View File

@ -1,41 +1,41 @@
<?php
require_once ('connexionBD.php');
require_once('connexionBD.php');
session_start();
if (!isset($_SESSION['mail'])){
if (!isset($_SESSION['mail'])) {
header('Location: index.php');
exit();
}
$mail = $_SESSION['mail'];
if (isset($_POST['login_field']) || isset($_FILES['avatar'])){
if (isset($_FILES['avatar']) and $_FILES['avatar']['name'] != ""){
if (isset($_POST['login_field']) || isset($_FILES['avatar'])) {
if (isset($_FILES['avatar']) and $_FILES['avatar']['name'] != "") {
$fic = $_FILES['avatar'];
supprimerAvatar($mail);
uploadAvatar($mail, $fic);
}
if (isset($_POST['login_field']) && isset($_POST['password']) && isset($_POST['confirmation']) && isset($_POST['prenom']) && isset($_POST['nom']) && isset($_POST['phone'])){
$login = htmlentities(pg_escape_string ($_POST['login_field']));
$password = htmlentities(pg_escape_string ($_POST['password']));
$confirmation = htmlentities(pg_escape_string ($_POST['confirmation']));
$prenom = htmlentities(pg_escape_string ($_POST['prenom']));
$nom = htmlentities(pg_escape_string ($_POST['nom']));
$phone = htmlentities(pg_escape_string ($_POST['phone']));
if (isset($_POST['login_field']) && isset($_POST['password']) && isset($_POST['confirmation']) && isset($_POST['prenom']) && isset($_POST['nom']) && isset($_POST['phone'])) {
$login = htmlentities(pg_escape_string($_POST['login_field']));
$password = htmlentities(pg_escape_string($_POST['password']));
$confirmation = htmlentities(pg_escape_string($_POST['confirmation']));
$prenom = htmlentities(pg_escape_string($_POST['prenom']));
$nom = htmlentities(pg_escape_string($_POST['nom']));
$phone = htmlentities(pg_escape_string($_POST['phone']));
if (!isLoginUniqueModifier($db, $mail, $login)){
if (!isLoginUniqueModifier($db, $mail, $login)) {
header('Location: profil.php?error=1');
exit();
}
if (strcmp($password, $confirmation) != 0){
if (strcmp($password, $confirmation) != 0) {
header('Location: profil.php?error=2');
exit();
}
if (!modifierUtilisateur($db, $prenom, $nom, $login, $phone)){
if (!modifierUtilisateur($db, $prenom, $nom, $login, $phone)) {
header('Location: profil.php?error=6');
exit();
}
@ -46,81 +46,87 @@ if (isset($_POST['login_field']) || isset($_FILES['avatar'])){
$user = getUser($db, $_SESSION['mail']);
if (!$user){
if (!$user) {
header('Location: profil.php?error=3');
exit();
}
function getPathImgProfil($mail){
function getPathImgProfil($mail)
{
$protocol = "https";
if (!isset($_SERVER['HTTPS_HOST'])){
if (!isset($_SERVER['HTTPS_HOST'])) {
$protocol = "http";
}
$list = scandir($_SERVER['DOCUMENT_ROOT']."/imageProfil");
foreach ($list as $entry){
if (strpos($entry, $mail) !== false){
return "$protocol://".$_SERVER['HTTP_HOST']."/imageProfil/$entry";
$list = scandir($_SERVER['DOCUMENT_ROOT'] . "/imageProfil");
foreach ($list as $entry) {
if (strpos($entry, $mail) !== false) {
return "$protocol://" . $_SERVER['HTTP_HOST'] . "/imageProfil/$entry";
}
}
return "$protocol://".$_SERVER['HTTP_HOST']."/imageProfil/default.svg";
return "$protocol://" . $_SERVER['HTTP_HOST'] . "/imageProfil/default.svg";
}
function supprimerAvatar($mail){
$list = scandir($_SERVER['DOCUMENT_ROOT']."/imageProfil");
foreach ($list as $entry){
if (strpos($entry, $mail) !== false){
unlink($_SERVER['DOCUMENT_ROOT']."/imageProfil/$entry");
function supprimerAvatar($mail)
{
$list = scandir($_SERVER['DOCUMENT_ROOT'] . "/imageProfil");
foreach ($list as $entry) {
if (strpos($entry, $mail) !== false) {
unlink($_SERVER['DOCUMENT_ROOT'] . "/imageProfil/$entry");
}
}
}
function uploadAvatar($mail, $fic){
function uploadAvatar($mail, $fic)
{
$tmp = explode('.', $fic['name']);
$extension = end($tmp);
$target_file = "imageProfil/$mail.$extension";
$file_tmp = $fic['tmp_name'];
$check = getimagesize($file_tmp);
if($check === false or !in_array($extension, array('png', 'jpg', 'jpeg', 'pjpeg', 'jfif', 'pjp'))) {
if ($check === false or !in_array($extension, array('png', 'jpg', 'jpeg', 'pjpeg', 'jfif', 'pjp'))) {
header('Location: inscription.php?error=4');
exit();
}
else if ($fic['size'] > 2 * 1024 * 1024){
} else if ($fic['size'] > 2 * 1024 * 1024) {
header('Location: inscription.php?error=5');
exit();
}
else{
} else {
move_uploaded_file($file_tmp, $target_file);
}
}
function modifierUtilisateur($db, $prenom, $nom, $login, $phone){
function modifierUtilisateur($db, $prenom, $nom, $login, $phone)
{
$result = pg_query_params($db, "UPDATE Utilisateur SET prenom = $1, nom = $2, login = $3, telephone = $4;", array($prenom, $nom, $login, $phone));
return $result;
}
function getUser($db, $mail){
$result = pg_query_params($db,"SELECT * FROM Utilisateur WHERE mail = $1;", array($mail));
function getUser($db, $mail)
{
$result = pg_query_params($db, "SELECT * FROM Utilisateur WHERE mail = $1;", array($mail));
return pg_fetch_array($result);
}
function printError(){
if(isset($_GET['error'])){
function printError()
{
if (isset($_GET['error'])) {
$erreur = getErrorProfil($_GET['error']);
echo "<p class = 'error'>$erreur</p>";
}
}
function isLoginUniqueModifier($db, $mail, $login){
function isLoginUniqueModifier($db, $mail, $login)
{
$result = pg_query_params($db, "SELECT * FROM Utilisateur WHERE login = $1 AND mail != $2;", array($login, $mail));
if($result){
if ($result) {
$row = pg_fetch_array($result);
return (strcmp($row['login'], $login) != 0);
}
return false;
}
function getErrorProfil($code){
switch ($code){
function getErrorProfil($code)
{
switch ($code) {
case 1:
return "Ce login est déjà associé à un compte.";
case 2:
@ -144,11 +150,13 @@ function getErrorProfil($code){
<head>
<meta charset="UTF-8">
<link rel="stylesheet" href="profil.css">
<link rel="stylesheet" href="ressources/navbarhtml.css">
<link rel="stylesheet" href="index_inscription.css">
<script src="inscription.js"></script>
<title>Profil</title>
</head>
<body>
<?php require_once("ressources/navbarhtml.php"); ?>
<div id="formulaire">
<h1>Profil</h1>
<div id="divImgProfil">
@ -157,42 +165,50 @@ function getErrorProfil($code){
<form method="post" enctype="multipart/form-data" action="profil.php">
<div class="line">
<label for="mail_field">Adresse mail : </label>
<input id="mail_field" class="form" type="email" maxlength="100" readonly value="<?php echo $user['mail']; ?>">
<input id="mail_field" class="form" type="email" maxlength="100" readonly
value="<?php echo $user['mail']; ?>">
</div>
<div class="line">
<label for="login_field">Login : </label>
<input id="login_field" class="form" name="login_field" type="text" maxlength="50" value="<?php echo $user['login'];?>" required>
<input id="login_field" class="form" name="login_field" type="text" maxlength="50"
value="<?php echo $user['login']; ?>" required>
</div>
<div class="line">
<label for="password">Mot de passe : </label>
<input class="form" id="password" name="password" type="password" maxlength="50" value="<?php echo $user['passwd'];?>" required>
<input class="form" id="password" name="password" type="password" maxlength="50"
value="<?php echo $user['passwd']; ?>" required>
</div>
<div class="line">
<label for="confirmation">Confirmation : </label>
<input class="form" id="confirmation" name="confirmation" type="password" maxlength="16" value="<?php echo $user['passwd'];?>" required>
<input class="form" id="confirmation" name="confirmation" type="password" maxlength="16"
value="<?php echo $user['passwd']; ?>" required>
</div>
<div class="line">
<label for="prenom_field">Prénom : </label>
<input id="prenom_field" class="form" name="prenom" type="text" maxlength="50" value="<?php echo $user['prenom'];?>" required>
<input id="prenom_field" class="form" name="prenom" type="text" maxlength="50"
value="<?php echo $user['prenom']; ?>" required>
</div>
<div class="line">
<label for="nom_field">Nom : </label>
<input id="nom_field" class="form" name="nom" type="text" maxlength="50" value="<?php echo $user['nom'];?>" required>
<input id="nom_field" class="form" name="nom" type="text" maxlength="50" value="<?php echo $user['nom']; ?>"
required>
</div>
<div class="line">
<label for="dateN_field">Date de naissance : </label>
<input id="dateN_field" class="form" readonly="readonly" type="date" value="<?php echo $user['datenaissance'];?>" required>
<input id="dateN_field" class="form" readonly="readonly" type="date"
value="<?php echo $user['datenaissance']; ?>" required>
</div>
<div class="line">
<label for="phone_field">Numéro de téléphone : </label>
<input id="phone_field" class="form" name="phone" type="tel" pattern="[0-9]{10}" maxlength="10" value="<?php echo $user['telephone'];?>" required>
<input id="phone_field" class="form" name="phone" type="tel" pattern="[0-9]{10}" maxlength="10"
value="<?php echo $user['telephone']; ?>" required>
</div>
<div class="line">
<label for="avatar">Image du Profil :</label>
<input type="file" id="avatar" class="form" name="avatar" accept="image/png, image/jpeg">
</div>
<?php
printError();
printError();
?>
<input id="submit" class="button" type="submit" value="Modifier">
</form>