PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 19-09-2012 20:54:05

amonite
Membre
Inscription : 19-09-2012
Messages : 2

Problème pour uploader des fichiers.

Bonjour,

J'ai un bout de code que j'ai fais, il m'intègre bien le lien dans la BDD, mais il ne m'upload pas l'image.

Je vous met le code en dessous, si quelqu'un a une petite idée de où j'ai bugger,

merci par avance.


<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="style.css" rel="stylesheet" type="text/css" />
<table height="100%" width="100%" align="center" bgcolor="#CCCCCC"><tr><td valign="top">

<table border="1" width="1024px" align="center" bgcolor="#000000">
  <tr>
      <td>
                    <?php

$connec = 'connexion.php';
if(file_exists($connec)) {
  include($connec);
} else {
  echo '<p>Le chemin vers le fichier <strong>'. dirname($_SERVER['SCRIPT_NAME']).'/'.$connec.'</strong> est incorrect.</p>';
}
?>
       
            <?php

$header = 'include/header.php';
if(file_exists($header)) {
  include($header);
} else {
  echo '<p>Le chemin vers le fichier <strong>'. dirname($_SERVER['SCRIPT_NAME']).'/'.$header.'</strong> est incorrect.</p>';
}
?>  
        </td>
    </tr>
   
    <tr>
      <td height="500px">
       
        <table align="center" width="900px" height="100%">
          <tr>
              <td width="110px"><img src="img/bg_admin.jpg"></td>
                <td width="790px" class="text" align="center" valign="middle">
               
               <?php
$dossier = '../images/part/';
$fichier = basename($_FILES['logo']['name']);
$taille_maxi = 100000;
$taille = filesize($_FILES['logo']['tmp_name']);
$extensions = array('.png', '.gif', '.jpg', '.jpeg');
$extension = strrchr($_FILES['logo']['name'], '.');
//Début des vérifications de sécurité...
if(!in_array($extension, $extensions)) //Si l'extension n'est pas dans le tableau
{
     $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
{
     //On formate le nom du fichier ici...
     $fichier = strtr($fichier,
          'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ',
          'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
     $fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier);
     if(move_uploaded_file($_FILES['logo']['tmp_name'], $dossier . $fichier)) //Si la fonction renvoie TRUE, c'est que ça a fonctionné...
     {
          echo 'Upload effectué avec succès !';
     }
     else //Sinon (la fonction renvoie FALSE).
     {
          echo 'Echec de l\'upload !';
     }
}
else
{
     echo $erreur;
}
?>
 

<?php


function redirige($url)
{
  $url='partenaires.php';
 die('<meta http-equiv="refresh" content="1;URL='.$url.'">');
}

if (isset ($_POST['valider']))
{
  $nom = $_POST['nom_partenaire'];
  $adresse = $_POST['adresse_partenaire'];
  $cp = $_POST['cp_partenaire'];
  $ville = $_POST['ville_partenaire'];
  $tel = $_POST['tel_partenaire'];
  $mail = $_POST['mail_partenaire'];
  $web = $_POST['web_partenaire'];
  $comm = $_POST['comm_partenaire'];
  $image = $_FILES['image_partenaire'];

  // Si l'un des champs est vide -> erreur
  if (empty ($nom))
    {
      echo '<body onLoad="alert(\'Veuillez entrer tous les champs.\')">';
      redirige ($url);
    }
  else
  {

   $nom = mysql_real_escape_string($nom) ;
   $adresse = mysql_real_escape_string($adresse);
   $cp = mysql_real_escape_string($cp);
   $ville = mysql_real_escape_string($ville);
   $tel = mysql_real_escape_string($tel);
   $mail = mysql_real_escape_string($mail);
   $web = mysql_real_escape_string($web);
   $comm = mysql_real_escape_string($comm);
   $image = mysql_real_escape_string($image);

 
   
   
    // Insertion dans la bdd
    $query = "insert into partenaire(id_partenaire,nom_partenaire,adresse_partenaire,cp_partenaire,ville_partenaire,tel_partenaire,mail_partenaire,web_partenaire,comm_partenaire,image_partenaire) values('','$nom', '$adresse', '$cp', '$ville', '$tel', '$mail', '$web', '$comm', '$fichier')";
    mysql_real_escape_string($query);


    if (mysql_query($query))
    {
       echo '<body onLoad="alert(\'Evenement ajoutée avec succès.\')">';
       redirige ($url);
    }
    else
    {
      echo '<body onLoad="alert(\'Une erreur a été détectée.\')">';
      redirige ($url);
    }
    //mysql_close();
  }
}
 
?>

                </td>
            </tr>
        </table>
       
       
        </td>
    </tr>
</table>


</td></tr></table>
 

Hors ligne

#2 20-09-2012 07:09:30

Jc
Membre
Lieu : Zillisheim - Alsace
Inscription : 15-04-2010
Messages : 1 629
Site Web

Re : Problème pour uploader des fichiers.

Bonjour,

Votre fichier de dépôt et celui qui gère le dépôt doivent être séparés. Sinon techniquement ça doit être possible de gérer les deux sur le même mais faut cloisonner les fonctionnalités du style deux blocs :  isset($_FILES)===true ? on gère le dépôt : On affiche le formulaire d'upload.

++

Dernière modification par Jc (20-09-2012 07:09:53)


POO PHP+Ajax en MVC avec PDO et Bases de données épaisses  : What else?

Hors ligne

Pied de page des forums