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

  FORUM HardWare.fr
  Programmation
  PHP

  upload de fichiers

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

upload de fichiers

n°499980
ikseg
Qui vivra verra!
Posté le 27-08-2003 à 20:31:41  profilanswer
 

J'ai un gros problème, pour uploader les fichiers,
 
Bon, je fais un formulaire html qui contient ca :

Citation :

<form  enctype="multipart/form-data" action="traitmix.php" method="post">
   <input type="hidden" name="auteur" value="ikseg">
<b>Titre :</b> <br>
<input type="text" name="titre" maxlength="100"><p>
<b>Mettre toutes les tracks, et faire une légère description :</b><br>
<textarea name="description" cols="50" rows="10"></textarea><p>
<b>Lien vers la mixtape :</b><br>
<input type="texte" name="lien" value="http://"><p>
<b>Upload de la pochette avant de la mixtape (la taille doit etre de 120/120px) :</b>
<input type="hidden" name="MAX_FILE_SIZE" value="30000">
<input type="file" name="fichier"><p>
<b>Nom et extension de la photo :</b>
<input type="texte" name="nom" value="nom.extension"><p>
<input type="submit" value="envoyer!">


 
Bon, je vous donne tous le code de ce fichier pour que vous puissez m'aider avec l'action :

Citation :

<?php
include("verif.php" );
require("exconn.php" );
$auteur = $_POST['auteur'];
$titre = $_POST['titre'];
$description = $_POST['description'];
$lien = $_POST['lien'];
$nom = $_POST['nom'];
if ($titre=='')
{
echo"Vous n'avez pas rempli le titre\n";
exit;
}
if ($description=='')
{
echo"Vous n'avez pas rempli la description\n";
exit;
}
if ($lien=='')
{
echo"Vous n'avez pas rempli le lien\n";
exit;
}
if ($nom=='')
{
echo"Vous n'avez pas rempli le nom\n";
exit;
}
 
$date = date("d-m-Y" ); $heure = date("H:i" );
$connexion =Connexion(NOM,PASSE,BASE,SERVEUR);
$query =  "select user_email from phpbb_users where username='$login'"; //ca vient d'une session
$req = mysql_query($query) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); //connexion à la base de données
$data = mysql_fetch_array($req);  
$email = $data['user_email'];
 
$requete = "INSERT INTO mixtape values ('','{$titre}','{$login}','{$description}','{$nom}','{$email}','le {$date} à {$heure}')";
$req = mysql_query($requete) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); //connexion à la base de données
include("header.php" );
echo"La mixtape a été ajouté!\n";
include("footer.php" );
?>


 
Connexion() est une fonction pour se connecter qui est dans exconn.php.
Mon problème, j'ai essayé plein de facons pour transférer le fichier mais j'arrive pas.
Donc, si vous pouvez m'expiquer comment faire pour que le fichier (image) aille dans le repertoir imgmix/ ca serait bien, et me dire quel code dois-je rajouter dans traitmix.php.
 
Merci d'avance, j'ai essayé pendant 1h et demie, et je n'ai trouvé aucune solutions, alors,je compte sur vous (je suis deja allé sur phpdebutant, et google...)

mood
Publicité
Posté le 27-08-2003 à 20:31:41  profilanswer
 

n°500234
rufo
Pas me confondre avec Lycos!
Posté le 28-08-2003 à 09:20:22  profilanswer
 

y'a un topic sur l'upload de fichier qui est passé y'a 1 semaine ou 2. J'avais mis pas mal de code, alors fait une petite recherche...;)

n°500309
ikseg
Qui vivra verra!
Posté le 28-08-2003 à 10:28:18  profilanswer
 

ok, je vais essayer de voir ca.

n°500360
ikseg
Qui vivra verra!
Posté le 28-08-2003 à 11:17:30  profilanswer
 

Désolé, j'ai éssayé de mettre ca :

Citation :

<?php
 
include("verif.php" );
require("exconn.php" );
$auteur = $_POST['auteur'];
$titre = $_POST['titre'];
$description = $_POST['description'];
$lien = $_POST['lien'];
$nom = $_POST['nom'];
if ($titre=='')
{
echo"Vous n'avez pas rempli le titre\n";
exit;
}
if ($description=='')
{
echo"Vous n'avez pas rempli la description\n";
exit;
}
if ($lien=='')
{
echo"Vous n'avez pas rempli le lien\n";
exit;
}
if ($nom=='')
{
echo"Vous n'avez pas rempli le nom\n";
exit;
}
$point = strpos($lien,"." );
if($point=='')  
{  
echo "Le lien doit comporter un <b>point</b>";  
exit;
}  
 
$http = strpos($lien,"http://http://" );
if($point=='')  
{  
echo "Le lien n'est pas correcte <b>point</b>";  
exit;
}  
 
  if (is_uploaded_file ($_FILES['fichier']['tmp_name']))
  {
include("header.php" );
echo"La mixtape a été ajouté!\n";
include("footer.php" );  
$date = date("d-m-Y" ); $heure = date("H:i" );
$connexion = Connexion(NOM,PASSE,BASE,SERVEUR);
$query =  "select user_email from phpbb_users where username='$login'";
$req = mysql_query($query) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); //connexion à la base de données
$data = mysql_fetch_array($req);  
$email = $data['user_email'];
 
$requete = "INSERT INTO mixtape values ('{$titre}','{$login}','{$description}','{$nom}','{$email}','le {$date} à {$heure}')";
$req = mysql_query($requete) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); //connexion à la base de données
 
 
    // On récupère l'identifiant attribué par MySQL
   $id = mysql_insert_id ($connexion);
 
   // Copie du fichier dans le répertoire PHOTOS
    copy($_FILES['fichier']['tmp_name'], "imgmix/$id.gif" );
 
}
else
{
  echo "Vous avez oublié de transmettre le fichier !?\n";
}  
?>
 


 
Et ca ne marche pas :(  :??: Quelqu'un pourrait me dire ce qui ne va pas dans ce script, et qu'est-ce qu'il faut rajouter pour que ca accepte seulement des images?

n°500402
rufo
Pas me confondre avec Lycos!
Posté le 28-08-2003 à 11:55:18  profilanswer
 

une rmarque en passant : tes messages d'erreurs pour les champs non remplis, tu devra le faire côté client avec du javascript...

n°500404
rufo
Pas me confondre avec Lycos!
Posté le 28-08-2003 à 11:57:01  profilanswer
 

et pour que ça accepte que les images, tu filtres les extensions des fichiers : tu récupères l'extension du fichier uploadé et tu regardes si celle-ci est dans ta liste des extensions autorisées (où alors qu'elle n'est pas dans la liste des extensions interdites)...

n°500426
ikseg
Qui vivra verra!
Posté le 28-08-2003 à 12:09:38  profilanswer
 

rufo a écrit :

une rmarque en passant : tes messages d'erreurs pour les champs non remplis, tu devra le faire côté client avec du javascript...


 
Nan, ca me prendrais trop de temps, et c'est un formulaire ou juste moi et quelques autres personnes remplirons, (ca sera dans une partie d'admin)

n°500451
rufo
Pas me confondre avec Lycos!
Posté le 28-08-2003 à 12:53:53  profilanswer
 

ikseg a écrit :


 
Nan, ca me prendrais trop de temps, et c'est un formulaire ou juste moi et quelques autres personnes remplirons, (ca sera dans une partie d'admin)


 
ça te prendrait trop de temps??????? Quelque minutes tout au plus! [:anne-sophie]

n°500491
gizmo
Posté le 28-08-2003 à 13:56:58  profilanswer
 

rufo a écrit :

une rmarque en passant : tes messages d'erreurs pour les champs non remplis, tu devra le faire côté client avec du javascript...


 
Et risquer plein de merdes avec les petits malins qui désactivent le JS?

n°500530
ikseg
Qui vivra verra!
Posté le 28-08-2003 à 14:31:48  profilanswer
 

rufo a écrit :


 
ça te prendrait trop de temps??????? Quelque minutes tout au plus! [:anne-sophie]


 
Tu veux dire, que je devrais me faire chi** a apprendre le js juste pour ca? nan nan nan...
Enfin, bon, pour en revenir au sujet, quelqu'un opeut m'aider?

mood
Publicité
Posté le 28-08-2003 à 14:31:48  profilanswer
 

n°500630
beleg
黑社會
Posté le 28-08-2003 à 15:38:12  profilanswer
 

le transfert se fait ainsi :
 

Code :
  1. move_uploaded_file($_FILES['fichier']['tmp_name'], "imgmix/$id.gif" );

 
 
mais le copy doit fonctionner egalement.
 
a part ca, je vois rien de faux. jespere que tu transfere des images de 30 ko max.
 
http://www.php.net/manual/fr/features.file-upload.php

n°500868
ikseg
Qui vivra verra!
Posté le 28-08-2003 à 18:30:42  profilanswer
 

J'ai utilisé la fonction phpinfo(), peut etre que ca va vous éclairer, allez ici

n°500916
ikseg
Qui vivra verra!
Posté le 28-08-2003 à 19:04:29  profilanswer
 

J'ai oublié de dire que ca m'affiche ca aussi :

Citation :

Column count doesn't match value count at row 1

n°500980
ikseg
Qui vivra verra!
Posté le 28-08-2003 à 20:54:11  profilanswer
 

Bon,j'ai télécharger un script d'image qui marche, maintenant, il s'agit de faire passer les autres infos en meme temps... Ce que.......je n'ai pas réussi à faire!!!
Donc, j'aimerai encore un petit service, allez voir ce script et, j'aimerais (si vous en avez la patience...)que vous assembliez mon formulaire avec le formulaire d'upload, et les deux programmes qui traitent le formulaire. (Attention, le nom de l'image et l'extention doivent etre pareil que $nom!).
Je vous serez énormément reconnaissant de me faire ca :) .  
J'ai besoin de ce script au plus vite, c'est pour ca, que je fais appelle à vous ;) .
MERCI :love:  :love: pour celui qui le fera

n°501124
beleg
黑社會
Posté le 28-08-2003 à 22:42:25  profilanswer
 

ikseg a écrit :

J'ai oublié de dire que ca m'affiche ca aussi :

Citation :

Column count doesn't match value count at row 1




 
euhhh tu plaisantes ? ... tu as une erreur SQL, donc ton script sarrete tout simplement. a vue de nez cest ton insert qui est en cause, fait :
 
insert into TABLE (champs...) values (valeurs...)


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

  upload de fichiers

 

Sujets relatifs
Upload de fichiers sur un serveur[upload fichiers et php/apache]
[PHP] Limite de taille pour l'upload de fichierschoix et upload fichiers dans une page web ?
prob avec l'upload de fichiers - $HTTP_POST_FILES[PHP] Upload de fichiers avec barre de progression...
Zipp de fichiers avant uploadupload multiple de fichiers ou de repertoire
Probleme d'upload de fichiers avec PHPupload de fichiers avec espaces
Plus de sujets relatifs à : upload de fichiers


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