Bonjour,
j'ai un problème avec un formulaire et notamment un champ de type "file". Ce formulaire est traité par une fonction javascript qui se charge de faire une XMLHttpRequest et qui envoit les données vers une page PHP. Sur ma page PHP, je n'ai pas de problème pour récupérer les données de type "text". En revanche, j'ai une erreur pour ma donnée de type "file". J'obtiens une erreur de type "Undefined index...".
Voici des extraits de mon code :
L'erreur apparait pour les lignes suivantes
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
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47 // My form <form action="" method="" enctype="multipart/form-data"> <input type="hidden" name="max_file_size" value="1000000" /> File : <input type="file" name="image" /> Title : <input type="text" name="title" /> <input type="submit" value="Add" onClick="sendRequest(this.form)" /> </form> // sendRequest function function sendRequest(f) { var xmlRequest = null; var url = null; var data = null if(window.XMLHttpRequest) // Firefox xmlRequest = new XMLHttpRequest(); else if(window.ActiveXObject) // Internet Explorer xmlRequest = new ActiveXObject("Microsoft.XMLHTTP"); var url = "doAddImage.php" var image = f.elements["image"].value; var title = f.elements["title"].value; data = "image="+image+"&title="+title; document.getElementById("display").innerHTML = '<div>Loading...</div>'; xmlRequest.open("POST", url , true); xmlRequest.onreadystatechange = function() { if (xmlRequest.readyState == 4) { var content = document.getElementById("display"); content.innerHTML = xmlRequest.responseText; } } xmlRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); xmlRequest.send(data); } // doAddImage.php <? header('Content-type: text/html; charset=iso-8859-1'); $title = utf8_decode($_POST["title"]); $image = $_FILES["image"]["tmp_name"]; $image_name = $_FILES["image"]["name"]; ?>
$image = $_FILES["image"]["tmp_name"];
$image_name = $_FILES["image"]["name"];
Partager