Forum-webmaster
Technique - programmation => PHP / MySQL => Message commencé par: Worfo le le 08-02-2015 a 21:40:39

Titre: Inséré des images
Posté par: Worfo le le 08-02-2015 a 21:40:39

Salut tous le monde ! J'esaye de faire en sorte a ce que les utilisateurs puissent changer leurs avatar ! J'ai une erreur dans mon code je ne voie pas d'ou elle proviens ! Quelqu'un a une idée ?

Mon code qui permet de mofidié l'avatar :


Code:
<?php
include('function_membre.php');
include('header.php');
include('menus.php');
include('update_avatar.func.php');
?>
<h3>Changer votre image de profil</h3>
<?php
if(isset($_POST['submit']))
{

   $avatar=$_FILES['avatar']['name'];
   $avatar_tmp = $_FILES['avatar']['tmp_name'];
   if(!empty($avatar))
   {
      $image_ext=strtolower(end(explode('.',$avatar)));
      if(in_array($image_ext,array('jpg','jpeg','png','gif')))
      {
         modifier_image_profile($avatar_tmp, $avatar);
         header("location:index.php?page=membre");
      
      }else{
         echo "<div class='error'>Veuillez saisir une image valide</div>";
   }
}
}

foreach($infos as $info)
{
?>

<img src="avatar/<?php echo $info['avatar'];?>" height="100" width="100" alt="avatar">
<?php

}


?>
<form method="POST" action="" enctype='multipart/form-data'>
<input type="file" name="avatar"><br/><br/>
<input type="submit" value="Valider" name="submit">
</form>


Code qui le modifie :


Code:
<?php

//la function qui av changer l'image du profile
include('connect.php');
function modifier_image_profile($avatar_tmp, $avatar)
{

move_uploaded_file($avatar_tmp, 'avatar/'.$avatar);
$update = $bdd->prepare('UPDATE `utilisateurs` SET `avatar`=:avatar WHERE pseudo=:pseudo');
$update->execute(array(':avatar' => $_FILES['avatar']['name'],
                                    ':pseudo' => $_SESSION['pseudo']));

}
?>

Titre: Re:Inséré des images
Posté par: stefde3 le le 09-02-2015 a 10:33:32

houla la... tu t'emmêles les pinceaux ^^

tu fais un fichier "update_avatar.func.php" alors que tu appelles une fonction "modifier_image_profile()". Je comprends pas pourquoi tu as séparé cette fonction qui modifie l'avatar pour la mettre dans un autre fichier.

Ensuite tu peux simplifier ta requête aussi :

Change ceci :

Code:
$update->execute(array(':avatar' => $_FILES['avatar']['name'],':pseudo' => $_SESSION['pseudo']));


en ceci :


Code:
$update->execute(array(':avatar' => $avatar,':pseudo' => $_SESSION['pseudo']));


et si tu pouvais nous donner l'erreur qui s'affiche ça aiderai pas mal ;)


Forum-webmaster | Actionné par YaBB SE
© 2001-2003, YaBB SE Dev Team. Tous droits réservés.