Affichage photo profil
- Accueil
- Forum
- Programmation
- PHP
- Affichage photo profil
Flata Le 1 février 2017 à 19:32 (Édité le 25 janvier 2019 à 17:53)
J'ai crée un upload photo profil en php via un code que j'ai trouvé sur le net mais le problème c'est que quand j'ajoute une photo profil elle ne s'affiche pas tout de suite il faut que je me deconnecte et me reconnect pour qu'elle s'affiche je ne sais pas d'ou ça vient le prob !!
TheOldNoob Le 2 février 2017 à 07:43 (Édité le 1 janvier 1970 à 01:00)
Montre ton code, on va avoir du mal à deviné ^^
Balatharas Le 2 février 2017 à 14:21 (Édité le 1 janvier 1970 à 01:00)
Flata Le 2 février 2017 à 17:24 (Édité le 1 janvier 1970 à 01:00)
$target_dir = "avatar/";
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
$uploadOk = 1;
$imageFileType = pathinfo($target_file,PATHINFO_EXTENSION);
$check = getimagesize($_FILES["fileToUpload"]["tmp_name"]);
if($check !== false) {
echo "File is an image - " . $check["mime"] . ".";
$uploadOk = 1;
} else {
echo "File is not an image.";
$uploadOk = 0;
}
// Check if file already exists
if (file_exists($target_file)) {
$_SESSION['flash']['danger']= 'Cette photo existe deja veuillez choisir une autre ';
$uploadOk = 0;
}
// Check file size
if ($_FILES["fileToUpload"]["size"] > 500000) {
$_SESSION['flash']['danger']= 'La taille de votre photo dépasse la limite 5 Mo';
$uploadOk = 0;
}
// Allow certain file formats
if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg"
&& $imageFileType != "gif" ) {
$_SESSION ['flash']['danger']= 'Veuillez insérer une photo en formats: JPG, JPEG, PNG & GIF ';
$uploadOk = 0;
}
// Check if $uploadOk is set to 0 by an error
if ($uploadOk == 0) {
// if everything is ok, try to upload file
} else {
if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
$_SESSION ['flash']['success']= 'Votre photo de profil a bien été chargé';
$_SESSION['auth'];
$req= $bdd -> prepare ('UPDATE membre SET avatar=:fileToUpload WHERE id=:id');
$req -> execute(array('fileToUpload'=> $_FILES["fileToUpload"]["name"], 'id'=> $_SESSION ['auth']->id ));
} else {
$_SESSION ['flash']['danger']= 'Erreur lors du transfert du fichier veuillez ressayer ';
}
}
}
Flata Le 2 février 2017 à 17:26 (Édité le 1 janvier 1970 à 01:00)
<?php
if(!empty($_SESSION['auth']->avatar)) {
?>
<div class="avatar"> <img class="avatar img-thumbnail img-responsive" src="avatar/<?= $_SESSION['auth']->avatar ?> "/> </div>
<?php } ?>
PaulLavieille Le 2 février 2017 à 18:33 (Édité le 1 janvier 1970 à 01:00)
<div class="avatar"> <img class="avatar img-thumbnail img-responsive" src="avatar/<?= $_SESSION['auth']->avatar ?>
Normal tu affiches avec le $_SESSION Flata Le 2 février 2017 à 18:44 (Édité le 1 janvier 1970 à 01:00)
Balatharas Le 3 février 2017 à 17:44 (Édité le 1 janvier 1970 à 01:00)
Met ça dans ton code:
Début du fichier profil avec ton php:
$requser = $bdd->prepare('SELECT * FROM membre WHERE id = ?');
$requser->execute([$variableDelidDuMembreSurLeProfil]);
$usr = $requser->fetch();
Si l'URL de ta page de profil est comme ceci: localhost/TonProjet/profil.php?id=1
Alors remplace la variable $variableDelidDuMembreSurLeProfil par $get_id ou $_GET['id']
Ensuite dans la partie affichage de ton profil:
<div class="avatar"> <img class="avatar img-thumbnail img-responsive" src="avatar/<?= $usr['avatar'] ?>
En tout cas c'est sympa d'avoir ignoré mon explication plus haut 😰
Flata Le 3 février 2017 à 19:09 (Édité le 1 janvier 1970 à 01:00)
Balatharas Le 3 février 2017 à 21:03 (Édité le 1 janvier 1970 à 01:00)
Flata Le 5 février 2017 à 16:02 (Édité le 1 janvier 1970 à 01:00)
En fait quand tu changes de photo de profil ça s'affiche pas tout de suite même quand j'actualise par contre quand je clique sur déconnecté et que je me reconnecte ça marche et la nouvelle photo s'affiche il me faut peut être un truc pour actualiser la session oubien se deconnecté et se reconnecté vite fait sans que l'utilisateur se rend compte un truc comme ça LOL je suis pas top en PHP .
j'ai vu le tuto de primFx sur photo de profil j'ai esssayé d'intégrer son tuto sur mon fichier profil j'ai eu un problème que la photo ne se déplace pas dans le dossier avatar quand j'utilise la fonction move_uploaded_file du coup j'ai trouvé le code que j'utilise la il est pas top je trouve
Balatharas Le 5 février 2017 à 18:09 (Édité le 1 janvier 1970 à 01:00)
<?php
if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
$_SESSION ['flash']['success']= 'Votre photo de profil a bien été chargé';
$_SESSION['auth'];
$req= $bdd -> prepare ('UPDATE membre SET avatar=:fileToUpload WHERE id=:id');
$req -> execute(array('fileToUpload'=> $_FILES["fileToUpload"]["name"], 'id'=> $_SESSION ['auth']->id ));
} else {
$_SESSION ['flash']['danger']= 'Erreur lors du transfert du fichier veuillez ressayer ';
}
?>
Par ça:
if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
$_SESSION ['flash']['success']= 'Votre photo de profil a bien été chargé';
$_SESSION['auth'];
$req= $bdd -> prepare ('UPDATE membre SET avatar=:fileToUpload WHERE id=:id');
$req -> execute(array('fileToUpload'=> $_FILES["fileToUpload"]["name"], 'id'=> $_SESSION ['auth']->id ));
$_SESSION['auth']->avatar = /*la variable qui contient ton avatar*/;
} else {
$_SESSION ['flash']['danger']= 'Erreur lors du transfert du fichier veuillez ressayer ';
}
Relis bien le code que je te donne