bonjour,

J'aimerai récupérer une image postée sur un formulaire dans un fichier ouvert avec ajax. Cepedant, 'avatar' n'est pas défini dans le fichier ajax. Pouvez vous m'aidez s'il vous plait ?

Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<html>
 
<head>
<title>Test images</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.js" type="text/javascript"></script>
</head>
<body>
<form method="post" action="resultats.php"  onsubmit="return valider()" id="formulaire_test" enctype="multipart/form-data">
	<input type="hidden" name="MAX_FILE_SIZE" value="1048576" />
	<input type="file" name="avatar" id="avatar"/>
	<p></br></p>
	<input type="submit" value="valider" />
</form> 
</body>
</html>

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
function valider(){
	$.ajax({
		url: 'ajaximage.php',
		type: 'POST',
		success: function(data){
			if(data=="ok"){
				alert('ca marche');
				var valider=true;
			}
			else{
				var valider=false;
				alert('Veuillez vérifier la taille, l\'extension et le poids de l\'image');
			}
		}
	});
	return valider;
}
Ici, le fichier ajaximage.php

Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<?php
 
//Vérification de l'extension
$extensions_valides = array( 'png' );
$extension_upload = strtolower(  substr(  strrchr($_FILES['avatar']['name'], '.')  ,1)  );
if ( in_array($extension_upload,$extensions_valides) ){
	$exten=true;
}
else{
	$exten=false;
}
 
//Vérification de la taille
$image_sizes = getimagesize($_FILES['avatar']['tmp_name']);
if ($image_sizes[0] == 50 AND $image_sizes[1] == 50){
	$taille=true;
}
else{
	$taille=false;
}
 
if($taille AND $exten){
	echo "ok";
}
else{
	echo "pas ok";
}
?>

Merci de votre aide