Ajouter un formulaire avec pièce jointe

cs_soussan Messages postés 53 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 23 juin 2008 - 23 mars 2006 à 12:15
cs_soussan Messages postés 53 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 23 juin 2008 - 23 mars 2006 à 22:17
salut
j'ai un formulaire avec un bouton parcourir qui permet d'ajouter le cv de l'utilistauer à la base de données. Pour moi j'arrive pas à trouver le code qui permet d'ajouter le cv à ma base mysql
qlqun peut m'aider et merci

11 réponses

xactise Messages postés 507 Date d'inscription mardi 18 février 2003 Statut Membre Dernière intervention 22 juin 2012 2
23 mars 2006 à 12:29
<HTML>
<HEAD>
<TITLE></TITLE>
</HEAD>

<form enctype=multipart/form-data action="uploader_fichier.php" method=POST>

Envoyez ce fichier :


</form>

</HTML>

MAX_FILE_SIZE est la taille du fichier maximal autoriser en octet (ici 50Mo)
userfile est la variable qui sera utiliser pour savoir quel est le fichier
uploader_fichier.php

<?PHP
move_uploaded_file($_FILES['userfile']['tmp_name'] , 'repertoire/' . $_FILES['userfile']['name']);
?>

voila
0
xactise Messages postés 507 Date d'inscription mardi 18 février 2003 Statut Membre Dernière intervention 22 juin 2012 2
23 mars 2006 à 12:29
oups j'ai oublier les requete permettant d'inserer le chemin du ficheir etc.. dans la base de données je supose que tu c'est le faire ;) a toi de jouer
0
xactise Messages postés 507 Date d'inscription mardi 18 février 2003 Statut Membre Dernière intervention 22 juin 2012 2
23 mars 2006 à 12:30
PS : TRES IMPORTANT aussi verifie bien l'extension du fichier
vu que c'est un CV autoriser que du .doc ou .rtf
parce que sinon on pourra TRES facilement pirater ton site..
0
cs_soussan Messages postés 53 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 23 juin 2008
23 mars 2006 à 14:27
merci bcp pour votre réactivité mais vraiment j'ai des question à vous poser :
le code :
<?PHP
move_uploaded_file($_FILES['userfile']['tmp_name'] , 'repertoire/' . $_FILES['userfile']['name']);
?>
je le met ds la page qui contient le formulaire?
c qoi le ['tmp_name']? ['name']?
pour l'insersion à la base le type du champs c text?car il me donne juste le chemin du fichier mais moi je veux que je puisse télécharger le fichier.
comment le forcer pour ajouter juste les .doc
merci de me répondre et merci pour ta première réponse.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_soussan Messages postés 53 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 23 juin 2008
23 mars 2006 à 14:33
Pour mieux me comprendre voila mon code :


<?PHP
move_uploaded_file($_FILES['$nomfichier']['tmp_name'] , 'repertoire/' . $_FILES['$nomfichier']['name']);
?>
et dans le fichier action j'ajoute le contenu da la zone du texte nomfichier dans un champ lien
je sais pas si c ce que je doit faire ou non
merci
0
xactise Messages postés 507 Date d'inscription mardi 18 février 2003 Statut Membre Dernière intervention 22 juin 2012 2
23 mars 2006 à 14:35
le code PHP tu le met dans ta page de traitement
exemple si dans ton formulaire tu as mis :
<FORM ACTION="traitement.php" METHOD="POST">
ton formulaire
</FORM>
tu met le code PHP dans une page apelé : traitement.php
['tmp_name'] c le chemin temporaire du fichier (celui ki est sur son pc si je dit pas de betise exemple : c:/mon_fichier.doc
pour la base tu peut metre un type champ ou CHAR(x) x étant un nombre
la diference entre char(x) et text c'est la taille que sa va prendre
text prendra plus de place qu'un char(x) mais c'est mieu car si le fichier de l'internaute fait 50metre de long exemple : mon_cv_a_moi_quil_est_tout_jolie.doc

pour qu'il ajoute SEULEMENT du .doc dans le traitement.php tu ajout

<?PHP
if($_FILES['userfile']['type']!= doc){
echo "format invalide !";
}
else {
move_uploaded_file($_FILES['userfile']['tmp_name'] , 'repertoire/' . $_FILES['userfile']['name']);
}
?>
0
cs_soussan Messages postés 53 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 23 juin 2008
23 mars 2006 à 15:59
j'ai fait tt ce que tu m'as dit mais ca donne encore des erreur
voila mon code:

if($_FILES['nomfichier']['type']!= doc){
echo "format invalide !";
}
else {
$server = "localhost";
$user = "root";
$password = "";
$base = "assistance";
$ct = mysql_connect("$server","$user","$password") or die("Impossible de se connecter au server SQL, essayez plus tard");
$db = mysql_select_db("$base") or die("Impossible de se selectionner la base SQL, essayez plus tard");


// Requete d'insertion MYSQL


move_uploaded_file($_FILES['nomfichier']['tmp_name'] , 'repertoire/' . $_FILES['nomfichier']['name']);



$requete = "INSERT INTO candidat (nom,prenom,adresse,lien) VALUES ('".$_POST['nom']."','".$_POST['prenom']."' ,'".$_POST['adresse']."' '".$_POST['nomfichier']."')";


// Execution de cette requete dans la base assistance
mysql_query($requete);
echo "Vous êtes bien enregistré dans notre base des candidats ";
mysql_close($ct);
}
mais ca marche pas malheureusement
0
xactise Messages postés 507 Date d'inscription mardi 18 février 2003 Statut Membre Dernière intervention 22 juin 2012 2
23 mars 2006 à 16:10
éssaie sa :
if($_FILES['nomfichier']['type']!= application/msword)

sinon je ne voit pas d'autre erreur ...
ecrit moi les erreur que sa te donne
PS : on c'est jamais a tu au moin creer un repertoire "repertoire" ??
0
cs_soussan Messages postés 53 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 23 juin 2008
23 mars 2006 à 16:26
il ajoute à la table mais il donne les erreur suivants :
Notice: Undefined index: nomfichier in c:\program files\easyphp1-8\www\workassistance\candidat.php on line 5

Notice: Use of undefined constant application - assumed 'application' in c:\program files\easyphp1-8\www\workassistance\candidat.php on line 5

Notice: Use of undefined constant msword - assumed 'msword' in c:\program files\easyphp1-8\www\workassistance\candidat.php on line 5

Warning: Division by zero in c:\program files\easyphp1-8\www\workassistance\candidat.php on line 5

Notice: Undefined index: nomfichier in c:\program files\easyphp1-8\www\workassistance\candidat.php on line 18

Notice: Undefined index: nomfichier in c:\program files\easyphp1-8\www\workassistance\candidat.php on line 18
0
xactise Messages postés 507 Date d'inscription mardi 18 février 2003 Statut Membre Dernière intervention 22 juin 2012 2
23 mars 2006 à 16:35
dans ton formulaire.html
tu a bien mis :
HTML>
<HEAD>
<TITLE></TITLE>
</HEAD>

<form enctype=multipart/form-data action="uploader_fichier.php" method=POST>

Envoyez ce fichier :


</form>

</HTML>

tu a surement du laisser name=userfile faut mettre name=nomfichier si tu utilise la variable $nomfichier dans ton fichier php
0
cs_soussan Messages postés 53 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 23 juin 2008
23 mars 2006 à 22:17
non pas cela car je met dans le formulaire html le code

alors je sais pas pourqoi ca donne ca
j'essai de trouver la solution
merci comme même pour votre aide
0
Rejoignez-nous