Notice a la fonction avatar et redementioné

Fermé
ivan - 2 sept. 2014 à 21:00
Fallentree Messages postés 2309 Date d'inscription mercredi 25 février 2009 Statut Membre Dernière intervention 22 juillet 2019 - 8 sept. 2014 à 13:15
Bonjour,

je voulais upload une photo donc il me dit que mon avatar a eté changé succé mais je ne vois pas ma photo et ni dans la base sql et ni dans le succée


voilà mon code



function UpdateAvatarById($mid,$IAvt='avatar'){
 
        global $pdo;
 
        
 
        if(isset($_FILES[$IAvt]) && !empty($_FILES[$IAvt]['name']))
 
                                {
 
                                        $avatarName = basename($_FILES[$IAvt]['name']);
 $str = '<div class="photo_upload">';
                                        $target = "avatar/avatar_membres/" . $avatarName ;
 
                                $str = '</div>';
 
                                        $isImageValid = true;
 
                                        
 
                                        $avatarSize = getimagesize($_FILES[$IAvt]['tmp_name']);
 
                                        $extension_upload = strtolower(substr(  strrchr($_FILES['avatar']['name'], '.')  ,1));
 
                                
 
                                        $extensions_valides = array( 'jpg' , 'jpeg' , 'gif' , 'png', 'bmp' );
 
                                        $messageImage = '';
 
                                        
 
                                        if($avatarSize[0]>500 || $avatarSize[1]>500)
 
                                        {
 
                                                $isImageValid = false;
 
                                                $messageImage .= 'Votre image fait plus de 500 sur 500'; 
 
                                        }
 
                                        if(!in_array($extension_upload,$extensions_valides))
 
                                        {
 
                                                $isImageValid = false;
 
                                                $messageImage .= 'Votre extension d\'image n\'est pas acceptée, extentions valides : ';
 
                                                        foreach($extensions_valides as $v)
 
                                                                $messageImage .= $v . ' '; 
 
                                        }
 
                                        if($isImageValid){
 
                                                $temp = $_FILES[$IAvt]['tmp_name'];
 
                                                
 
                                                        $query = $pdo->prepare("UPDATE forum_membres SET membre_avatar=? WHERE membre_id=?");
 
                                                                $query->execute(array($temp,$mid));
 
                                                        if($query->rowCount() < 1)
 
                                                                return array("ERROR" => "Impossible de modifier l'avatar d'un membre introuvable, merci de contacter le support en specifiant le code d'erreur 0x" . ord("FUNC_UPD_AVT_ERROR_MEMBER404"));
 
                                                        else{
 
                                                                move_uploaded_file($temp,$target);
 
                                                                return array("ERROR" => null);
 
                                                        }
 
                                        }else{
 
                                                return array("ERROR" => $messageImage);
 
                                        }
 
                                }else{
 
                                        return array("ERROR" => "Merci choisir une image avant d'envoyer le formulaire");       
 
                                }
 
}



eet il me dit la notice


Notice: Undefined variable: isImageValid in /var/www/legtux.org/users/monsite/modules/membre/function.inc.php on line 1772

Notice: Undefined variable: isImageValid in /var/www/legtux.org/users/monsite/modules/membre/function.inc.php on line 1812
Votre avatar à été changé avec succées



cete ligne qui a ces notice


$isImageValid = true;
if($isImageValid){


et une petite questionj'ai ajouté
<div class="photo_upload"></div>

le css :

	  .photo_upload
	  {
position: absolute;
	  clip: rect(0, 100px, 100px, 0);
     }


afin qu'on a charger une photo tout les avatars serons redimensionné a une taille largeur et hauteur

es ce que vous pouvez m'aidé a voir comment on peut faire
déjà répare la notice et l'autre c'est d mettre un carré et avec le clip css pour redimensionné tout les avatar

merci

A voir également:

1 réponse

Fallentree Messages postés 2309 Date d'inscription mercredi 25 février 2009 Statut Membre Dernière intervention 22 juillet 2019 208
Modifié par Fallentree le 8/09/2014 à 13:16
a tous les coups, ta variable est définie dans une boucle ... et donc pas toujours valable ...
Rajoute la condition d exclusion en début de code
$isImageValid = false;

pour le reste prépare tout de suite tes logos d avatar au format voulu ...
c'est trois lignes de code
https://www.php.net/manual/en/function.imagecopyresized.php

pour le clip css connais pas...
0