<?php
/*AUTH(membre,false,true);*/
if(isset($_GET['mid']) && id2level($_SESSION['id'])==ADMIN && (!isset($_GET['admincp']) || $_GET['admincp']!=tokenAdmin()))
redirect('Vous n\'avez pas le droit d\'accéder ici', "/");
else if(isset($_GET['mid']) && id2level($_SESSION['id'])==ADMIN && (isset($_GET['admincp']) || $_GET['admincp']==tokenAdmin())){
$getMid = intval($_GET['mid']);
}
echo '<a name="avtChangerCenter"></a>';
$mid = (!isset($getMid) ? $_SESSION['id'] : intval($getMid));
$mid = (empty($mid)) ? 0 : $mid;
$query = $pdo->prepare("SELECT * FROM forum_membres WHERE membre_id=?");
$query->execute(array($mid));
if($query->rowCount() > 0){
if(isset($_POST['send'])){
$status = UpdateAvatarById($mid,'avatar');
if(array_key_exists("ERROR",$status)){
if($status["ERROR"] == null)
echo "Votre avatar à été changé avec succées";
else
echo "Une ou des erreur(s) s'est/se sont produite(s) : " . $status["ERROR"] . "<a href="".$_SERVER['REQUEST_URI']."?nocache=".rand(1000,95000)."#avtChangerCenter">Retour au formulaire</a>";
}
}else{
echo '<form id=\'imageFichier\' action="'.preg_replace("#\?nocache=([0-9]+)#","",$_SERVER['REQUEST_URI']).'#avtChangerCenter" method="post" enctype="multipart/form-data">
<div class="cadre_avatar_change_photo">'. GetAvatarById($mid['membre_id'],"avatar_forum_index_topic avatar_membre") . '</div>';
?>
<?php
echo '<input type="file" name="avatar" />
<br /><br />
<label></label><input type="submit" name="send" value="Changer" />
</form>';
}
}else{
//CODE 0x77 Membre not found
redirect("Problème technique, code 0x" . ord("MDLMEMBRENOTFOUND"));
}
?>
ma fonction
function UpdateAvatarById($mid,$IAvt='avatar'){
global $pdo;
if(isset($_FILES[$IAvt]) && !empty($_FILES[$IAvt]['name']))
{
$avatarName = basename($_FILES[$IAvt]['name']);
$target = "avatar/avatar_membres/" . $avatarName ;
$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]['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" );
}
}
il me dit
Une ou des erreur(s) s'est/se sont produite(s) : Impossible de modifier l'avatar d'un membre introuvable,
et j'ai aussi un soucy
j'aimis un code pour redimentioner ma photo hor s de son upload
// JavaScript Document
$(function() {
$('#imageFichier input[type="file"]').change(function() {
var file = $(this);
var reader = new FileReader;
reader.onload = function(event) {
var fileType=file[0].files[0].type; // on récupère le type du fichier de base
var maxW=100; // on défini la largeur max après redimensionnement
var maxH=100; // on défini la hauteur max après redimensionnement
var img = new Image();
img.onload = function() {
var orrigineW=img.width;
var orrigineH=img.height;
var taille=tailleFinal(orrigineW, orrigineH, maxW, maxH)
var width = taille.width;
var height = taille.height;
var canvas = document.createElement('canvas'); // creation d'un canvas
canvas.width = width; // à la bonne dimension FINALE en largeur
canvas.height = height; // à la bonne dimension FINALE en hauteur
file.after(canvas);
var context = canvas.getContext('2d'); // 3d ? non, une image est en 2D <img src="http://www.y3dev.com/wp-includes/images/smilies/icon_biggrin.gif" alt=":D" class="wp-smiley">
context.drawImage(img, 0, 0, width, height); // on place l'image au nouvelle dimensions
data = canvas.toDataURL(fileType); // converti un canvas en url base64
console.log(data);
};//fin -> img.onload
img.src = event.target.result;
}; // fin -> reader.onload
reader.readAsDataURL(file[0].files[0]);
});// fin -> $('#imageFichier input[type="file"]')
});
il ne fonctione pas il veux pas redimentioner ma photo a 200*200 ou 150*150
et aussi l'autre ouci il ne veux pas afficher ma photo ou si il met bien ma foto mais si je rechange une autre photo impossible de remettre une autre photo
si qqun qui peut maider a metre mon code fonctione avec un e redimentionne hors de son uploas a 150*150