Undefine index:fichier
otchouck
Messages postés
54
Date d'inscription
Statut
Membre
Dernière intervention
-
Otchouck -
Otchouck -
Bonjour,
je suis novice en php et depuis plusieurs heure ma page web m'affiche plusieurs fois ce message: undefine index:fichier in c:\program Files\easyPHP-5.3.8.1\www\... quand j'execute ce code:
<?php
include ("connexion.php");
mysql_select_db("excell_ivoire");//selection de la base de données
if (isset($_POST['nom']))
{
echo ('test1');
$maxsize=1048576;
if ($_FILES['fichier']['error'] > 0) {
$erreur = "Erreur lors du transfert";
}
if ($_FILES['fichier']['size'] > $maxsize){
$erreur = "Le fichier est trop gros";
}
if ($_FILES['fichier']['size'] > $maxsize) {
$erreur = "Le fichier est trop gros";
}
$extensions_valides = array( 'doc', 'docx', 'pdf', 'jpg' , 'jpeg' , 'gif' , 'jpg' );
//1. strrchr renvoie l'extension avec le point (« . »).
//2. substr(chaine,1) ignore le premier caractère de chaine.
//3. strtolower met l'extension en minuscules.
$extension_upload = strtolower( substr( strrchr($_FILES['fichier']['name'], '.') ,1) );
if ( in_array($extension_upload,$extensions_valides) ){
echo "Extension correcte";
}
//Créer un dossier 'upload/1/'
//mkdir('upload/1/', 0777, true);
//Créer un identifiant difficile à deviner
//$nom = md5(uniqid(rand(), true));
$nom = "{$_FILES['fichier']['name']}.{$extension_upload}";
$uploads_dir='/upload';
$nom_uploadeur=$_POST['nom'];
$email=$_POST['email'];
$contact=$_POST['contact'];
$save= mysql_query("INSERT INTO uploadeur(nom,email,contact) VALUE('$nom_uploadeur','$email','$contact')");
$resultat = move_uploaded_file($_FILES['fichier']['tmp_name'],$uploads_dir.$nom);
if ($resultat) {echo "Transfert réussi";} else {echo " erreur de transfert";}
}
?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
</head>
<body>
<font align="center">
<h2 id="upload" > Télécharger un fichier vers le site </h2> <br>
<br> <font color="blue">remplir le formulaire ci-dessous </font><h2><br></h2>
<form method="post" action="fin_upload.php" enctype="multipart/form-data>
<p>
</p> <p>
<label for="nom"> Votre Nom et prénoms </label> <br> <input type="text" name="nom" id="nom" size="40" value=''/>
</p> <p>
<label for="email"> Email </label> <br> <input type="text" name="email" id="email" size="30" value=''/>
</p> <p>
<label for="contact"> Contact cel. </label> <br> <input type="text" name="contact" id="numero" size="10" value=''/>
</p> <p>
<input type="hidden" name="MAX_FILE_SIZE" value="1048576">
<label for="fichier"> fichier (uniquement de type doc, docx, pdf, jpg ou jpeg ) </label> <br> <input type="file" name="fichier" />
</p> <p>
<input type="submit" value="Envoyer le fichier" />
</font>
vos reponses me seront d'une grande aide
</body>
je suis novice en php et depuis plusieurs heure ma page web m'affiche plusieurs fois ce message: undefine index:fichier in c:\program Files\easyPHP-5.3.8.1\www\... quand j'execute ce code:
<?php
include ("connexion.php");
mysql_select_db("excell_ivoire");//selection de la base de données
if (isset($_POST['nom']))
{
echo ('test1');
$maxsize=1048576;
if ($_FILES['fichier']['error'] > 0) {
$erreur = "Erreur lors du transfert";
}
if ($_FILES['fichier']['size'] > $maxsize){
$erreur = "Le fichier est trop gros";
}
if ($_FILES['fichier']['size'] > $maxsize) {
$erreur = "Le fichier est trop gros";
}
$extensions_valides = array( 'doc', 'docx', 'pdf', 'jpg' , 'jpeg' , 'gif' , 'jpg' );
//1. strrchr renvoie l'extension avec le point (« . »).
//2. substr(chaine,1) ignore le premier caractère de chaine.
//3. strtolower met l'extension en minuscules.
$extension_upload = strtolower( substr( strrchr($_FILES['fichier']['name'], '.') ,1) );
if ( in_array($extension_upload,$extensions_valides) ){
echo "Extension correcte";
}
//Créer un dossier 'upload/1/'
//mkdir('upload/1/', 0777, true);
//Créer un identifiant difficile à deviner
//$nom = md5(uniqid(rand(), true));
$nom = "{$_FILES['fichier']['name']}.{$extension_upload}";
$uploads_dir='/upload';
$nom_uploadeur=$_POST['nom'];
$email=$_POST['email'];
$contact=$_POST['contact'];
$save= mysql_query("INSERT INTO uploadeur(nom,email,contact) VALUE('$nom_uploadeur','$email','$contact')");
$resultat = move_uploaded_file($_FILES['fichier']['tmp_name'],$uploads_dir.$nom);
if ($resultat) {echo "Transfert réussi";} else {echo " erreur de transfert";}
}
?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
</head>
<body>
<font align="center">
<h2 id="upload" > Télécharger un fichier vers le site </h2> <br>
<br> <font color="blue">remplir le formulaire ci-dessous </font><h2><br></h2>
<form method="post" action="fin_upload.php" enctype="multipart/form-data>
<p>
</p> <p>
<label for="nom"> Votre Nom et prénoms </label> <br> <input type="text" name="nom" id="nom" size="40" value=''/>
</p> <p>
<label for="email"> Email </label> <br> <input type="text" name="email" id="email" size="30" value=''/>
</p> <p>
<label for="contact"> Contact cel. </label> <br> <input type="text" name="contact" id="numero" size="10" value=''/>
</p> <p>
<input type="hidden" name="MAX_FILE_SIZE" value="1048576">
<label for="fichier"> fichier (uniquement de type doc, docx, pdf, jpg ou jpeg ) </label> <br> <input type="file" name="fichier" />
</p> <p>
<input type="submit" value="Envoyer le fichier" />
</font>
vos reponses me seront d'une grande aide
</body>
A voir également:
- Undefine index:fichier
- Index téléphonique - Guide
- Telecharger index - Télécharger - Gestion de fichiers
- Index rapport de stage - Guide
- No index col - Forum Excel
- Excel : résultat multiple avec une rechercheV ✓ - Forum Excel
1 réponse
Alors je sias pas si c'est un mauvais copier coller, mais
Il manque un " après form-data
Et le formulaire ne semble pas fermer.
Après pour tester ce que contient la variable $_FILES le mieux est de faire un var_dump($_FILES) au début du PHP;
<form method="post" action="fin_upload.php" enctype="multipart/form-data>
Il manque un " après form-data
Et le formulaire ne semble pas fermer.
Après pour tester ce que contient la variable $_FILES le mieux est de faire un var_dump($_FILES) au début du PHP;
Otchouck
Merci zeNairolf il manquait effectivement un " .ca marche maintenant.