Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2506 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Problème avec mkdir et upload

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Problème avec mkdir et upload

n°1326549
biying
Posté le 16-03-2006 à 11:19:42  profilanswer
 

Bonjour,
Sur mon site j'ai un formulaire d'inscription.Dans ce formulaire il y a des champs comme le nom,adresse,etc.Il y a aussi un champs file pour pouvoir uploader son propre logo(le logo doit aller dans le nouveau répertoire qui va être créé en même temps au nom de l‘utilisateur).Après l`avoir remplis et validé,les données sont envoyées dans une base de données.En même temps cela cré un répertoire sur le serveur au nom de l‘utilisateur avec la commande mkdir.Pour ça pas de problème.Donc le problème c‘est que le logo de l‘utilisateur ne va pas dans le nouveau répertoire car les deux actions(création d‘un répertoire au nom de l‘utilisateur et upload du logo de l‘utilisateur dans le nouveau répertoire)sont trop proches donc quand le logo doit être uploader dans le nouveau répertoire il ne trouve pas le chemin.
Est-ce que quelqu‘un pourrait m‘aider?
Merci
STEF

mood
Publicité
Posté le 16-03-2006 à 11:19:42  profilanswer
 

n°1326551
misterping​uin
Posté le 16-03-2006 à 11:21:56  profilanswer
 

sans code c'est difficile...

n°1326765
biying
Posté le 16-03-2006 à 15:17:01  profilanswer
 

Voici une partie de mon code en php:
.
.
if(isset($_POST['utilisateur']))      $utilisateur=$_POST['utilisateur'];
else      $utilisateur="";
if(isset($_POST['motdepasse']))      $motdepasse=$_POST['motdepasse'];
else      $motdepasse="";
mkdir($utilisateur);
// On vérifie si les champs sont vides
if(empty($nom) OR empty($titre) OR empty($adresse) OR empty($zip) OR empty($city) OR empty($city) OR empty($area) OR empty($pays)  OR empty($telephone) OR empty($vousetes) OR empty($factrad) OR empty($activite) OR empty($utilisateur) OR empty($motdepasse))
    {
    echo '<font color="red">Attention, vous avez oubli&#233; de remplir certains  champs !</font>';
    print '<p align="center"><a href="javascript:history.back()">RETOUR</a>';  exit;
 }
elseif( $motdepasse != $motdepasse1)
{
 echo 'Les mots de passe ne sont pas identiques, <a href="javascript:history.back(1)">Retour au formulaire</a>';
   }
// Aucun champ n'est vide, on peut enregistrer dans la table
else      
    {
       // connexion à la base
$db = mysql_connect('localhost', 'inter4869', 'stefmorgan24')  or die('Erreur de connexion '.mysql_error());
// sélection de la base  
 
    mysql_select_db('inter4869',$db)  or die('Erreur de selection '.mysql_error());
     
    // on écrit la requête sql
    $sql = "INSERT INTO fournisseur(nom,creer,titre,contact,fonction,adresse,zip,city,area,pays,telephone,fax,mobile,email,site,vousetes,
 factrad,activite,asia,europe,america,others,chiffaffaiexpor,destock,utilisateur,motdepasse,datefournisseur) VALUES('$nom','$creer','$titre','$contact','$fonction','$adresse','$zip','$city','$area','$pays','$telephone','$fax','$mobile','$email','$site','$vousetes','$factrad','$activite','$asia','$europe','$america','$others','$chiffaffaiexpor','$destock','$utilisateur','$motdepasse','$datefournisseur')";
  if(!empty($logo))
 {
$query="SELECT * FROM `fournisseur` WHERE `utilisateur` LIKE '$utilisateur'";
$result=@mysql_query($query);
$row=@mysql_fetch_row($result);
$ext = ".jpg";
$babu= $utilisateur;
echo $babu;
$nom_image=("1".$ext);
 
$chemin = "$babu/".$nom_image;
echo $chemin;
 
move_uploaded_file($_FILES['logo']['tmp_name'],$chemin);
 
 }    
   
    mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
 
     
    echo 'Vos infos on ete ajoutees.';
 
    mysql_close();  
    }  
?>

n°1326796
dwogsi
Défaillance cérébrale...
Posté le 16-03-2006 à 16:05:54  profilanswer
 

Ca te met quoi comme erreur?
T'est sûr que ça ne serait pas plutôt un problèmes de droits???

n°1326802
Woutcha
Posté le 16-03-2006 à 16:21:21  profilanswer
 

dwogsi a écrit :

Ca te met quoi comme erreur?
T'est sûr que ça ne serait pas plutôt un problèmes de droits???


 
Yup, si on avait les messages d'erreur ce serait plus simple  :)  
 
Cela-dit, quelque remarques (securite) sur ton script :
 
- en utilisant  $utilisateur comme valeur pour cree ton repertoire et pour determiner le  
chemin d'upload ($babu= $utilisateur;$nom_image=("1".$ext); $chemin = "$babu/".$nom_image; ),  
tu laisses a l'utilisateur la possibilite d'uploader des fichiers la ou il veut (ex: $utilisateur = ../../truc)
 
- avant insertion de valeurs dans ta base ($nom, $titre..), tu dois verifier non seulement qu'elles ne sont pas vides,
mais aussi qu'elles ne contiennent pas de caracteres speciaux qui permettraient a un utilisateur de modifier ta requete
SQL (injection SQL)  
 
En conclusion tu dois FILTRER les valeurs fournies par l'utilisateur (regex) si tu veux eviter des gros pb de securite

n°1326803
biying
Posté le 16-03-2006 à 16:22:00  profilanswer
 

dwogsi a écrit :

Ca te met quoi comme erreur?
T'est sûr que ça ne serait pas plutôt un problèmes de droits???


Cela me met que les données ont bien été rajoutées.Effectivement les données vont bien dans la base de données.Le repertoire est bien créé.Mais le logo ne va pas dans le repertoire.

n°1326804
dwogsi
Défaillance cérébrale...
Posté le 16-03-2006 à 16:24:35  profilanswer
 

Essais juste de remplacer
mkdir($utilisateur);
par
mkdir($utilisateur,777);
 
Edit :
Et tiens compte de ce qu'a posté Woutcha.
Et explique moi aussi pourquoi tu veux créer un répertoire par utilisateur? Quand on utilise une base de données, ce n'est généralement pas utile sauf cas particuliers.


Message édité par dwogsi le 16-03-2006 à 16:26:21

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Problème avec mkdir et upload

 

Sujets relatifs
[JavaScript] Problème avec un petit scriptProblème d'affichage entre Firefox et IE
Calcul de la vitesse d'uploadproblème de passage d'argument VB/C++ dans une dll
Probleme pour boucle sur collection userformProbleme exec
REGEX tout con.. mais probleme[résolu] Problème Session Bean Stateful et JSF sous RAD6
problème avec la méthode post d'un formulaireproblème avec tant que..
Plus de sujets relatifs à : Problème avec mkdir et upload


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR