Problème Upload de fichiers ET enregistrement dans la base de données

Signaler
Messages postés
4
Date d'inscription
samedi 4 septembre 2010
Statut
Membre
Dernière intervention
16 juin 2011
-
Messages postés
4
Date d'inscription
samedi 4 septembre 2010
Statut
Membre
Dernière intervention
16 juin 2011
-
Bonsoir tout le monde !

J'ai un gros problème, Je souhaite enregistrer dans ma base de données informations sur un document (fichier) et l’uploader dans un dossier tout en enregistrant dans cette base le chemin du fichier (dans la même table contenant les informations du fichier). Les problèmes que je rencontre sont soit que :
- j’arrive à enregistrer dans la base le chemin et uploader dans le dossier, mais les informations du fichier ne sont pas insérées.
- j’enregistre une ligne correcte mais l’upload ne se fait pas.
- j’insère les toutes les informations mais dans des lignes différentes du fichier.
Le code de l’upload est un code que j’ai trouvé quelque part, et qui marche très bien tout seul. C’est quand que je l’insère dans mon formulaire me créé des problèmes.
Je pense que cela est dit à l’attribut action="document.php " dans mon formulaire.
Voilà le code l’upload (je n'ai pas voulu copié le code du formulaire car je le trouve trop long.. dois le faire?):


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41

table width="200" border="0" cellspacing="2" cellpadding="3">




Fichier (Tous formats | max. 1Mo):













et voila le code qui traite l'ajout dans la base ( dans document.php) :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27

5 réponses

Messages postés
1654
Date d'inscription
dimanche 7 septembre 2008
Statut
Membre
Dernière intervention
11 septembre 2013
16
bonjour

j'ai aidé un internaute il y a quelques heures même problème
http://www.phpcs.com/forum/sujet-RECUPERATION-FORMULAIRE-AVEC-PHOTO-IMPOSSIBLE_1529879.aspx
inspire toi de ce code
pout ton sujet ça devrait s'organiser autrement

<!-- formulaire.php -->

<form method=\"post\"  enctype=\"multipart/form-data\" action=\"mofifier.php\">
<label for=\"fichier\">Fichier (Tous formats | max. 1Mo):
</label>

<!--

ici les autres input
titre ...
keyword ...

-->

</form>







<!-- modifier.php -->
<?php
session_start();
$content_dir='doc';
if(!file_exists($content_dir)){
$d=mkdir($content_dir);
chmod($d,705);
}else{
}
 
if( isset($_POST['upload']) ) // si formulaire soumis
{
    //$content_dir = "./doc/"; // dossier où sera déplacé le fichier
 
    $tmp_file = $_FILES['fichier']['tmp_name'];
 
    if( !is_uploaded_file($tmp_file) )
    {
        exit("Le fichier est introuvable");
    }
 
    // on copie le fichier dans le dossier de destination
    $name_file = $_FILES['fichier']['name'];
 
    if( !move_uploaded_file($tmp_file, $chemin = './'.$content_dir.'/'. $name_file) )
    {
        exit("Impossible de copier le fichier dans $content_dir");
    }
else{
    echo "Le fichier est enregistré";
}
}
 


include('DBinfo.php');
$link = mysqli_connect($host,$user,$pass,$dbname);
if (!$link) {
die('Could not connect: ' . mysqli_error($link));
}
 
mysqli_query($link,"SET NAMES UTF8");
         $v_titre=addslashes($_POST["titre"]);
         $v_keyword = addslashes($_POST["keyword"]);
         $v_fait_par = addslashes($_POST["fait_par"]);
         $v_desc= addslashes($_POST["description"]);
         /*$v_nom_type_doc=addslashes($_POST["type"]);*/
         $jour=$_POST["day"];
         $mois=$_POST["month"];
         $annee=$_POST["year"];
     //$chemin= addslashes($_POST["fichier"]);
 
 
/*$v_id_type"SELECT type_doc_id from typedoc WHERE typedoc.type_doc_nom '$v_nom_type'";*/
        $query = "INSERT INTO document  
                  VALUES (
                  
                  NULL,
                  '".$v_titre."',
                  '".$v_keyword."',
                  '".$v_fait_par."',
                  '".$annee-$mois-$jour."',
                  '".$v_desc."',
                  '1',
                  '".$chemin."')
                  ";		 
$res1 = mysqli_query($link,$query);
 
 
?>


Bonne programmation !
Messages postés
4
Date d'inscription
samedi 4 septembre 2010
Statut
Membre
Dernière intervention
16 juin 2011

j'ai testé ça, Le fichier est bien copié dans doc/ mais l'insertion dans la base ne se fait pas :(

Mouna.
Messages postés
4
Date d'inscription
samedi 4 septembre 2010
Statut
Membre
Dernière intervention
16 juin 2011

Serait-il possible d'utiliser des variables de ce session dans ces bouts de code? Si oui j'ai essayé dans document.php, mais apparemment je ne sais pas les utiliser correctement (au niveau de l'insertion dans ma base de données).

Modifier.php








Consulter


















Ajout d'un Document :






Documents

Titre du document:






Keyword :






Fait par :






Type :

---- Choisissez ----



Consulter


















Ajout d'un Document :





Emplacement du Document :

Fichier (Tous formats | max. 1Mo):


















Messages postés
1654
Date d'inscription
dimanche 7 septembre 2008
Statut
Membre
Dernière intervention
11 septembre 2013
16
action="document.php"
tu pointes sur document.php
donc tu peux verifier ce qui arrive sur ce page
<?php
/*voilà ce que envoi ton formulaire*/
echo '';
echo '<hr>variables $_GET actuelles
';
print_r($_GET);
echo '<hr>variables $_POST actuelles
';
print_r($_POST);
echo '<hr>variables $_FILES actuelles
';
print_r($_FILES);
echo '

';
/* ... SUITE DE TON CODE */

je pense si ton insertion ne fonctionne pas c'est que ta requete est mauvaise fait ECHO

echo $query "UPDATE document SET document.piece_jointe'$name_file' WHERE document.doc_titre = '$v_titre; ";

pour voir si tout est là
les sessions sont pas utiles ... utilise plutot $_POST
Bonne programmation !
Messages postés
4
Date d'inscription
samedi 4 septembre 2010
Statut
Membre
Dernière intervention
16 juin 2011

MErci !!

Mouna.