Unindefined index

Mammouth du PHP | 725 Messages

27 févr. 2012, 11:02

Bonjour,

je fais le transfert d'un fichier apr le biais d'un formulaire, type file, je recois une erreur, alors je pense que tout va bien:
<form name="formAvatar" method="post" action="" enctype="multipart/form-data">
<input type="hidden" name="MAX_FILE_SIZE" value="10000" />
<input type="file" name="avatarFile" class="avatarFile" />
<input type="text" name="nom" class="nom" />
<input type="submit" name="submitAvatar" class="submitAvatar" value="Envoyer" />
</form>
et par le biais de jQuery:
$('.submitAvatar').click(function(){
			var avatarFile =	$('.avatarFile').val();
			var nom =	$('.nom').val();
			
			var dataString = 'avatarFile='+ avatarFile +'&nom='+ nom;
			
			console.log(dataString);
			
			$.ajax({
        type: "POST",
        url: "Admins/editAvatarCheck.php",
        data: dataString,
editAvatarCheck
$nom = $_POST['nom'];
$avatarFile = $_POST['avatarFile'];
echo $nom;
echo 'avatar:' .$avatarFile.'<br />';

$avatarFile = basename($_FILES['avatarFile']['name']);
l'erreur:
<b>Notice</b>: Undefined index: avatarFile in editAvatarCheck.php on line <b>32</b><br />
merci pour votre aide

ViPHP
xTG
ViPHP | 7331 Messages

27 févr. 2012, 11:03

$_FILE['avatarFile'] et non $_POST pour les fichiers. ;)

Mammouth du PHP | 725 Messages

27 févr. 2012, 11:25

$_FILE['avatarFile'] et non $_POST pour les fichiers. ;)
j'ai teste les 2 et ca marche pas, meme si le fait d'enlever POST ca marche pas

Eléphant du PHP | 179 Messages

27 févr. 2012, 11:27

$_FILES plutôt, je fais toujours cette erreur aussi ^^
Satané S :p

Mammouth du PHP | 725 Messages

27 févr. 2012, 11:32

oui c'est ca, mais en vain:
$avatarFile = basename($_FILES['avatarFile']['name']);

ViPHP
xTG
ViPHP | 7331 Messages

27 févr. 2012, 11:34

Fais un var_dump($_FILES) et tu seras fixé de ce que tu reçois...
Car si pas de fichier renseigné dans le formulaire, pas d'index name.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

27 févr. 2012, 11:36

je te conseil de vérifier le contenu de $_FILES.

et aussi de voir comment faire avec JQUERY ^^

la première chose à faire c'est de valider le formulaire normalement, après tu pourra y mettre de fioriture :mrgreen:

Dans les deux cas la validation sera la même de toute façon.

@+
Il en faut peu pour être heureux ......

Mammouth du PHP | 725 Messages

27 févr. 2012, 11:37

                        console.log(dataString);
me retourne les valeurs correctes:
avatarFile=419_n.jpg&nom=test
et le var_dump retourne:
array(0) {
}
test<br />

Mammouth du PHP | 725 Messages

27 févr. 2012, 14:00

je pense que ca va pas marcher par jQuery

Eléphant du PHP | 179 Messages

27 févr. 2012, 14:01

Il y a des modules de resize image en Jquery ultra puissant et tout fait :)

Mammouth du PHP | 725 Messages

27 févr. 2012, 14:18

je veux juste l'upload pas plus :D

ViPHP
xTG
ViPHP | 7331 Messages

27 févr. 2012, 14:57

Sauf que là avec cette méthode t'uploads rien du tout, tu passes un nom de fichier c'est tout...
On ne peut pas faire d'upload sans changer de page, tu trouveras des plugins jQuery mais en fait ils passent tous par une iframe en général.
http://www.webdeveloperjuice.com/2010/0 ... ng-jquery/

Mammouth du PHP | 725 Messages

27 févr. 2012, 16:04

Sauf que là avec cette méthode t'uploads rien du tout, tu passes un nom de fichier c'est tout...
On ne peut pas faire d'upload sans changer de page, tu trouveras des plugins jQuery mais en fait ils passent tous par une iframe en général.
http://www.webdeveloperjuice.com/2010/0 ... ng-jquery/

j'ai consule ces liens auparavant, tous par des iframes, je vais le faire 100% PHP, merci

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

27 févr. 2012, 18:24

Regarde dans les contributions la classe d'upload de AB, ou le tuto sur l'impose (section tuto).


@+
Il en faut peu pour être heureux ......

Mammouth du PHP | 725 Messages

28 févr. 2012, 04:08

je bais le voir merci