Bonjour à tous, je me joint à vous pour essayer de résoudre mon problème d'upload.
<form method="post" action="insert_crustace.php" enctype="multipart/form-data">
Nom Comercial: <input name="nom_commercial" type="text" maxlength="255" value="" />,
Origine:<input name="origine" type="text" maxlength="255" value="" />,
<br>
Paramètres:<br>
Eclairage: <input name="eclairage" type="text" maxlength="255" value="" />,
Sol: <input name="sol" type="text" maxlength="255" value="" /><br>
Durete: <SELECT name="durete_min"><option value="-"></option>
<option value="1">1</option><option value="2">2</option><option value="3">3</option><option value="4">4</option><option value="5">5</option>
<option value="6">6</option><option value="7">7</option><option value="8">8</option><option value="9">9</option><option value="10">10</option>
<option value="11">11</option><option value="12">12</option><option value="13">13</option><option value="14">14</option><option value="15">15</option>
<option value="16">16</option></select> à
<SELECT name="durete_max">
<option value="6">6</option><option value="7">7</option><option value="8">8</option><option value="9">9</option><option value="10">10</option>
<option value="11">11</option><option value="12">12</option><option value="13">13</option><option value="14">14</option><option value="15">15</option>
<option value="16">16</option><option value="17">17</option><option value="18">18</option><option value="19">19</option><option value="20">20</option>
<option value="21">21</option><option value="22">22</option><option value="23">23</option><option value="24">24</option><option value="25">25</option>
<option value="26">26</option><option value="27">27</option><option value="28">28</option><option value="29">29</option><option value="30">30</option></select> °D GH,
pH de: <SELECT name="ph_min">
<option value="5">5</option><option value="5.25">5,25</option><option value="5.50">5,50</option><option value="5.75">5,75</option><option value="6">6</option>
<option value="6.25">6,25</option><option value="6.50">6,50</option><option value="6.75">6,75</option><option value="7">7</option><option value="7.25">7,25</option>
<option value="7.50">7,50</option><option value="7.75">7,75</option><option value="8">8</option><option value="8.25">8,25</option>
<option value="8.50">8,50</option><option value="8.75">8,75</option><option value="9">9</option></select> à
<SELECT name="ph_max">
<option value="5">5</option><option value="5.25">5,25</option><option value="5.50">5,50</option><option value="5.75">5,75</option><option value="6">6</option>
<option value="6.25">6,25</option><option value="6.50">6,50</option><option value="6.75">6,75</option><option value="7">7</option><option value="7.25">7,25</option>
<option value="7.50">7,50</option><option value="7.75">7,75</option><option value="8">8</option><option value="8.25">8,25</option>
<option value="8.50">8,50</option><option value="8.75">8,75</option><option value="9">9</option></select>,
Température de: <SELECT name="temp_min">
<option value="5">5</option><option value="10">10</option><option value="15">15</option><option value="16">16</option><option value="17">17</option>
<option value="18">18</option><option value="19">19</option><option value="20">20</option><option value="21">21</option><option value="22">22</option>
<option value="23">23</option><option value="24">24</option><option value="25">25</option></select> à
<SELECT name="temp_max">
<option value="25">25</option><option value="26">26</option><option value="27">27</option><option value="28">28</option><option value="29">29</option>
<option value="30">30</option></select>,
<br>
Taille adulte mâle: <SELECT name="taille_mmin"><option value="-"></option>
<option value="1">1</option><option value="2">2</option><option value="4">4</option><option value="6">6</option><option value="8">8</option><option value="10">10</option>
<option value="12">12</option><option value="14">14</option><option value="16">16</option><option value="18">18</option><option value="20">20</option>
</select> à
<SELECT name="taille_mmax">
<option value="1">1</option><option value="2">2</option><option value="4">4</option><option value="6">6</option><option value="8">8</option><option value="10">10</option>
<option value="12">12</option><option value="14">14</option><option value="16">16</option><option value="18">18</option>
<option value="20">20</option><option value="22">22</option><option value="24">24</option><option value="26">26</option>
<option value="26/28">28</option><option value="30">30</option><option value="+30">+30</option>
</select> Cm<br>
Taille adulte femelles :<SELECT name="taille_fmin"><option value="-"></option>
<option value="1">1</option><option value="2">2</option><option value="4">4</option><option value="6">6</option><option value="8">8</option><option value="10">10</option>
<option value="12">12</option><option value="14">14</option><option value="16">16</option><option value="18">18</option><option value="20">20</option>
</select> à
<SELECT name="taille_fmax">
<option value="1">1</option><option value="2">2</option><option value="4">4</option><option value="6">6</option><option value="8">8</option><option value="10">10</option>
<option value="12">12</option><option value="14">14</option><option value="16">16</option><option value="18">18</option>
<option value="20">20</option><option value="22">22</option><option value="24">24</option><option value="26">26</option>
<option value="26/28">28</option><option value="30">30</option><option value="+30">+30</option>
</select> Cm<br>
Remarque : <br><textarea rows="10" name="remarque" cols="50"></textarea><br>
Distribution géographique : <br><textarea rows="10" name="distribution" cols="50"></textarea><br>
Alimentation :<br><textarea rows="10" name="alimentation" cols="50"></textarea><br>
Comportement et maintenance : <br><textarea rows="10" name="maintenance" cols="50"></textarea><br>
<br>
<!-- On limite le fichier à 200Ko -->
<input type="hidden" name="MAX_FILE_SIZE" value="200000">
Image : <input type="file" name="crustace"> Maximun 2Mo <br>
Titre de l'image: <input name="titreimg" type="text" maxlength="255" value="" /><br>
Source de l'image: <input name="source" type="text" maxlength="255" value="" /><br>
Auteur: <?php echo $_SESSION['username']; ?><br><br>
<input type="submit" name="envoyer" value="Envoyer la fiche">
</form>
$dossier = 'images/crustace/';
$fichier = basename($_FILES['crustace']['name']);
$taille_maxi = 200000;
$taille = filesize($_FILES['crustace']['tmp_name']);
$extensions = array('.bmp', '.jpg', '.jpeg', '.png', '.gif', '.BMP', '.JPG', '.JPEG', '.PNG', '.GIF');
$extension = strrchr($_FILES['crustace']['name'], '.');
//Début des vérifications de sécurité...
if(!in_array($extension, $extensions)) //Si l'extension n'est pas dans le tableau
{
echo $erreur = 'Vous devez uploader un fichier de type png, gif, jpg, jpeg,...';
}
if($taille>$taille_maxi)
{
$erreur = 'Le fichier est trop gros...';
}
if(!isset($erreur)) //S'il n'y a pas d'erreur, on upload
{
//generation d'un nom de fichier unique
$fichier=md5(uniqid(rand(), true));
$fichier="$fichier$extension";
if(move_uploaded_file($_FILES['crustace']['tmp_name'], $dossier.$fichier)) //Si la fonction renvoie TRUE, c'est que ça a fonctionné...
{
echo 'Upload effectué avec succès ! et votre fiche viens d\'être créé';
$photo = $fichier;
$auteur = $_SESSION['username'];
// on enregistre les données
$req = $dbh->prepare('INSERT INTO crustace VALUES("", ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)');
$req->execute(array(
$_POST['nom_commercial'],
$_POST['origine'],
$_POST['ph_min'],
$_POST['ph_max'],
$_POST['temp_min'],
$_POST['temp_max'],
$_POST['durete_min'],
$_POST['durete_max'],
$_POST['eclairage'],
$_POST['sol'],
$_POST['taille_mmin'],
$_POST['taille_mmax'],
$_POST['taille_fmin'],
$_POST['taille_fmax'],
$_POST['remarque'],
$_POST['distribution'],
$_POST['alimentation'],
$_POST['maintenance'],
$photo,
$_POST['titreimg'],
$_POST['source'],
$auteur,
));
}
else //Sinon (la fonction renvoie FALSE).
{
echo 'Echec de l\'upload !';
}
}
else
{
echo $erreur;
}
{
?>
<br><a href= "ajout_crustace.php"> Ajouter une nouvelle fiche crustace.</a>
<br>
<?php
}
?>
j'ai bon enlever les sécurité, il me fait un echec upload, rien dans la base, rien dans le dossier image.