Problemes avec avatar

Ce topic a été résolu
zenxko

zenxko Le 24 avril 2016 à 16:25 (Édité le 25 janvier 2019 à 17:50)

j'ai suivie le tuto de prim l'imagge va bien dans la base de donner dans le fichier avatar partout mes elle s'afiche pas sur le site avais vous une idde de ou sa vient
Wistaro

Wistaro Le 24 avril 2016 à 16:31

Salut, 

pourrait-tu montrer ton code? 
Sans, ça va être compliqué de t'aider...
zenxko

zenxko Le 24 avril 2016 à 16:31

l'edition tu profil ou le profil  ?
joel

joel Le 24 avril 2016 à 16:38

ouai enfaite sa veut dire que l image n est pas grande ajoute skype: mfmb design je t explique
Aendawan

Aendawan Le 24 avril 2016 à 16:51

zenxko, les deux au pire.
zenxko

zenxko Le 24 avril 2016 à 16:52

<?php
session_start();

$bdd = new PDO('mysql:host=localhost;dbname=espace_membre', 'root', '');

if(isset($_SESSION['id'])) {
   $requser = $bdd->prepare("SELECT * FROM membres WHERE id = ?");
   $requser->execute(array($_SESSION['id']));
   $user = $requser->fetch();
   if(isset($_POST['newpseudo']) AND !empty($_POST['newpseudo']) AND $_POST['newpseudo'] != $user['pseudo']) {
      $newpseudo = htmlspecialchars($_POST['newpseudo']);
      $insertpseudo = $bdd->prepare("UPDATE membres SET pseudo = ? WHERE id = ?");
      $insertpseudo->execute(array($newpseudo, $_SESSION['id']));
      header('Location: profil.php?id='.$_SESSION['id']);
   }
   if(isset($_POST['newmail']) AND !empty($_POST['newmail']) AND $_POST['newmail'] != $user['mail']) {
      $newmail = htmlspecialchars($_POST['newmail']);
      $insertmail = $bdd->prepare("UPDATE membres SET mail = ? WHERE id = ?");
      $insertmail->execute(array($newmail, $_SESSION['id']));
      header('Location: profil.php?id='.$_SESSION['id']);
   }
   if(isset($_POST['newmdp1']) AND !empty($_POST['newmdp1']) AND isset($_POST['newmdp2']) AND !empty($_POST['newmdp2'])) {
      $mdp1 = sha1($_POST['newmdp1']);
      $mdp2 = sha1($_POST['newmdp2']);
      if($mdp1 == $mdp2) {
         $insertmdp = $bdd->prepare("UPDATE membres SET motdepasse = ? WHERE id = ?");
         $insertmdp->execute(array($mdp1, $_SESSION['id']));
         header('Location: profil.php?id='.$_SESSION['id']);
      } else {
         $msg = "Vos deux mdp ne correspondent pas !";
      }
   }
   if(isset($_FILES['avatar']) AND !empty($_FILES['avatar']['name']))
   {
      $tailleMax = 2097152;
      $extensionValides = array('jpg','jpeg','gif','png');
      if($_FILES['avatar']['size'] <= $tailleMax)
      {
         $extensionUpload = strtolower(substr(strrchr($_FILES['avatar']['name'], '.'), 1));
         if(in_array($extensionUpload, $extensionValides))
         {
              $chemin = "membres/avatars/".$_SESSION['id'].".".$extensionUpload;
              $resultat = move_uploaded_file($_FILES['avatar']['tmp_name'], $chemin);
              if($resultat)
              {
                    $updateavatar = $bdd->prepare('UPDATE membres SET avatar = :avatar WHERE id = :id');
                    $updateavatar->execute(array(
                     'avatar' => $_SESSION['id'].".".$extensionUpload,
                     'id' => $_SESSION['id']
                      ));
                    header('Location: profil.php?id='.$_SESSION['id']);
              }
              else
              {
                  $msg = "Erreur durant l'importation de votre photo de profil";
              }
         }
         else
         {
            $msg= "Votre photos de profil doit ê^tre au format jpg, jpeg, gif ou png,";
         }
      }
      else
      {
         $msg = "Votre photos de profil doit faire moins de 2Mo";
      }
   }

?>
<html>
<!DOCTYPE html>
   <head>
      <title>TUTO PHP</title>
      <meta charset="utf-8">
   </head>
   <body>
      <div align="center">
         <h2>Edition de mon profil</h2>
         <div align="left">
            <form method="POST" action="" enctype="multipart/form-data">
               <label>Pseudo :</label>
               <input type="text" name="newpseudo" placeholder="Pseudo" value="<?php echo $user['pseudo']; ?>" /><br /><br />
               <label>Mail :</label>
               <input type="text" name="newmail" placeholder="Mail" value="<?php echo $user['mail']; ?>" /><br /><br />
               <label>Mot de passe :</label>
               <input type="password" name="newmdp1" placeholder="Mot de passe"/><br /><br />
               <label>Confirmation - mot de passe :</label>
               <input type="password" name="newmdp2" placeholder="Confirmation du mot de passe" /><br /><br />
               <label>Avatar :</label>
               <input type="file" name="avatar" /><br /><br />
               <input type="submit" value="Mettre à jour mon profil !" />
            </form>
            <?php if(isset($msg)) { echo $msg; } ?>
         </div>
      </div>
   </body>
</html>
<?php   
}
else {
   header("Location: connexion.php");
}
?>
zenxko

zenxko Le 24 avril 2016 à 16:53

sa ses le edtionprofil
et en desous le profil
<?php
session_start();
$bdd = new PDO('mysql:host=localhost;dbname=espace_membre', 'root', '');
if(isset($_GET['id']) AND $_GET['id'] > 0) {
   $getid = intval($_GET['id']);
   $requser = $bdd->prepare('SELECT * FROM membres WHERE id = ?');
   $requser->execute(array($getid));
   $userinfo = $requser->fetch();
?>
<!DOCTYPE html>
<html>
   <head>
      <title>TUTO PHP</title>
      <meta charset="utf-8">
      <link rel="stylesheet" type"text/CSS" href="css/styleprofil.css">
   </head>
   <body>
      <div align="center">
         <h2>Profil de <?php echo $userinfo['pseudo']; ?></h2>
         <br /> <br />
         <?php
         if(!empty($_userinfo['avatar']))
         {
         ?>
         <img src="membres/avatars/<?php echo $userinfo['avatar']; ?>" width="150" />
         <?php   
         }
         ?>
         <br /><br /><br /><br /><br /><br /><br />
         Pseudo = <?php echo $userinfo['pseudo']; ?>
         <br />
         Mail = <?php echo $userinfo['mail']; ?>
         <br />
         <?php
         if(isset($_SESSION['id']) AND $userinfo['id'] == $_SESSION['id']) {
         ?>
         <br />
         <?php
         }
         ?>
         <a href="editionprofil.php">Editer mon profil</a>  <a href="deconnexion.php">Se déconnecter</a>
      </div>
   </body>
</html>
<?php   
}
?>
Aendawan

Aendawan Le 24 avril 2016 à 17:13

Quand tu envoies une image. Est-ce que le champ dans la base de donnée est mise à jour ? Si oui, quel est sa valeur ?
Wistaro

Wistaro Le 24 avril 2016 à 17:15

Heu mais c'est ou que tu affiches ton avatar?
zenxko

zenxko Le 24 avril 2016 à 17:16

Aendawan pas tout compris et wistaro ces la 
<img src="membres/avatars/<?php echo $userinfo['avatar']; ?>" width="150" />
zenxko

zenxko Le 24 avril 2016 à 17:17

aendawan comment je sais si ses mis a jour ?
Wistaro

Wistaro Le 24 avril 2016 à 17:18

OK. Tu peux debugguer ta variable $userinfo['avatar'] et me dire ce qu'elle contient? 
Aendawan

Aendawan Le 24 avril 2016 à 17:18

tu regardes dans ta base de donnée (phpmyadmin dans la plus part des cas)
zenxko

zenxko Le 24 avril 2016 à 17:20

aendawan j'y suis mes je voie pas trop de quoi tu veut parler et wistaro je t'envoi sa dans 2 minute
Wistaro

Wistaro Le 24 avril 2016 à 17:22 (Édité le 24 avril 2016 à 17:23)

En fait, nos 2 questions sont les même, c'est juste que Aendawan veux passer par la bdd directement et moi par la variable...
zenxko

zenxko Le 24 avril 2016 à 17:23

aendawan sa se mes bien dans la bdd ses juste sur la page que sa s'affiche pas elle se mes meme dans le fichier avatar du site 
zenxko

zenxko Le 24 avril 2016 à 17:25

sinon un de vous 2 a pas skype je lui montre ne partage d'ecran ?
Aendawan

Aendawan Le 24 avril 2016 à 17:30

Fais CTRL+U là où ton image doit être affiché, dis moi ce qui s'affiche (dans le code) là où tu dois avoir ton avatar.
zenxko

zenxko Le 24 avril 2016 à 17:32

<!DOCTYPE html><html>   <head>      <title>TUTO PHP</title>      <meta charset="utf-8">      <link rel="stylesheet" type"text/CSS" href="css/styleprofil.css">   </head>   <body>      <div align="center">         <h2>Profil de zenxko</h2>         <br /> <br />                  <br /><br /><br /><br /><br /><br /><br />         Pseudo = zenxko         <br />         Mail = zenxko@gmail.com         <br />                  <br />                  <a href="editionprofil.php">Editer mon profil</a>  <a href="deconnexion.php">Se déconnecter</a>      </div>   </body></html> 
le php s'affiche pas et mon image je l'affiche ne php
zenxko

zenxko Le 24 avril 2016 à 17:33

j'affiche mon image avec
<img src="membres/avatars/<?php echo $userinfo['avatar']; ?>" width="150" />
zenxko

zenxko Le 24 avril 2016 à 17:38

fin devrais s'afficher elle s'affiche pas
Aendawan

Aendawan Le 24 avril 2016 à 17:44

Ton PHP ne s'affiche pas ? Est-ce que tu développe ton site sous Wamp, Xampp ou autre chose simulant un serveur ?
De plus, aucune balise image n'est affiché sur ta page, c'est pour ça que ça ne s'affiche pas.
zenxko

zenxko Le 24 avril 2016 à 17:45

sur le CTRL-U le php s'afffiche pas et sur wamp et si j'affiche l'image avec 
<img src="membres/avatars/<?php echo $userinfo['avatar']; ?>" width="150" />
Aendawan

Aendawan Le 24 avril 2016 à 17:47

oui, sauf que ta balise image n'apparait pas dans ce que tu m'as monter.
zenxko

zenxko Le 24 avril 2016 à 17:48

j'avais compris tu sais pourquoi ?