Variable non définie

Signaler
Messages postés
27
Date d'inscription
mercredi 1 février 2006
Statut
Membre
Dernière intervention
12 février 2006
-
Messages postés
27
Date d'inscription
mercredi 1 février 2006
Statut
Membre
Dernière intervention
12 février 2006
-
Bonjour,



Mon probleme est qu'a chaque fois que j'utilise un formulaire de ce genre :







et que je souhaite récupérer la valeur, avec :



$_Post['name']



J'obtiens un message d'erreur du genre "Undefined index: fichier in ..."

tant qu'aucune valeur n'est assigné au champ de texte.



J'ai réussi a contourner le probleme avec "isset()" mais je trouve cela
un peut penible et je pense qu'il existe une autre solution.



Merci

9 réponses

Messages postés
1216
Date d'inscription
mardi 20 décembre 2005
Statut
Membre
Dernière intervention
18 octobre 2012
5
$_Post['new_email'] !!!!!!!!!
Messages postés
135
Date d'inscription
vendredi 30 décembre 2005
Statut
Membre
Dernière intervention
18 avril 2006

salut,
c'est la bonne solution
oubien tu peux verifier avec empty() tout simplement
Messages postés
135
Date d'inscription
vendredi 30 décembre 2005
Statut
Membre
Dernière intervention
18 avril 2006

ah miiiince , t'as raison sidf
Messages postés
27
Date d'inscription
mercredi 1 février 2006
Statut
Membre
Dernière intervention
12 février 2006

Oui en effet, j'ai ecris un peut vite :

C' est bien $_Post['new_email'] que j' ai ecris dans mon code.

Mais il doit exister un moyen de passer outre les verification isset() ou empty() car dans plusieurs code php3 que j'ai telechargé personne ne fait cette verification.

Merci
Messages postés
1216
Date d'inscription
mardi 20 décembre 2005
Statut
Membre
Dernière intervention
18 octobre 2012
5
la il faudrait voir le code du formulaire...
Messages postés
1216
Date d'inscription
mardi 20 décembre 2005
Statut
Membre
Dernière intervention
18 octobre 2012
5
et si tu mets

??
Messages postés
27
Date d'inscription
mercredi 1 février 2006
Statut
Membre
Dernière intervention
12 février 2006

Voila l'exemple d'un code que j'ai telechargé (j'en ai beaucoup d'autres comme cela), ou j'ai du rajouter la condition :

if(isset($HTTP_POST_FILES['fichier' .........

Elle n'y était pas avant et ca n'avais l ere de géner personne !!!

Sans quoi je me retrouve avec des message d'erreur : "Undefined index: fichier in ..."

<form enctype="multipart/form-data" action="upload.php3" method="post">
Fichier :

</form>


<?
// Taille maximum
$MAX_FILE_SIZE = 150000;


// Dossier de destination du fichier
$folder = "./";


// Tableau array des différents types
$allowed_types = array("image/bmp", "image/gif", "image/pjpeg", "image/jpeg", "image/jpg", "multipart/x-zip", "image/rle", "image/dib");


if(isset($HTTP_POST_FILES['fichier']['name']) && isset($HTTP_POST_FILES['fichier']['type']) && isset($HTTP_POST_FILES['fichier']['size']) && isset($HTTP_POST_FILES['fichier']['tmp_name']))
{
// Variables récupérée par methode POST du formulaires
$fname = $HTTP_POST_FILES['fichier']['name'];
$ftype = $HTTP_POST_FILES['fichier']['type'];
$fsize = $HTTP_POST_FILES['fichier']['size'];
$ftmp = $HTTP_POST_FILES['fichier']['tmp_name'];

// Diverses test afin de savoir si :
// Le format de fichier correspond à notre tableau array
echo('test :');
echo($ftype." ");


if(!in_array($ftype, $allowed_types)){$error = 1;}

// La taille du fichier n'est pas dépassée
if($fsize > $MAX_FILE_SIZE){$error = 2;}

// Le fichier n'existe pas déjà
if(file_exists($folder."m_".$fname)){$error = 3;}

// Si tout va bien, c'est bien déroulé
if(copy($ftmp,''.$folder.''.$fname.'')) {$error = 0;}

// Switch servant simplement à la gestion des erreures
switch($error){
case'0':
echo("Fichier correctement envoyé.");
break;
case'1':
echo("Format de fichier incorrecte.");
break;
case'2':
echo("Fichier trop volumineux.");
break;
case'3':
echo("Fichier déjà existant.");
break;
}
}
?>
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
25
Hello,

ce qui ne vérifient pas avec isset () dont des programmeurs du dimanche...
Non, il ne faut pas se passer de isset ().
Ensuite, c'est $_POST, et pas $_Post.

Et c'est $_FILES et pas $HTTP_POST_FILES.

Enfin, if (isset ($_FILES['fichier']) && !empty ($_FILES['fichier'])) suffit.
Puis ensuite, tu peux tester le type, le poids, etc...si tu le veux.
Messages postés
27
Date d'inscription
mercredi 1 février 2006
Statut
Membre
Dernière intervention
12 février 2006

Ok, merci