php pdf base de donnée

nidnight
Invité n'ayant pas de compte PHPfrance

11 mars 2013, 13:58

Bonjour à tous !

J'ai crée un base de donnée avec phpmyadmin et un formulaire.
Dans celui-ci je peux ajouter un nouveau document avec son nom, numéro, et son extrait en pdf.
Après ma requête il remplit la base de donnée avec son nom, son numéro et le nom du pdf (exemple: ' thor.pdf')
if(isset($_POST['submit'])){
 
 $db = mysql_connect('***', '***', '***');  // connexion à la base
        mysql_select_db('***',$db);             // sélection de la base
 
 $sql = "INSERT INTO perso (id,nom,descrip,pdf) VALUES ('','$nom','$description','$pdf')";
 mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());  
 echo "modification ok <a href='persopage3.php'>retour a la page </a>";
  }else {
}
 
Tout marche parfaitement MAIS ce que j'aimerais c'est qu'en plus d'enregistrer le nom du pdf dans la base de donnée il envoie également le fichier pdf sur le serveur
Pouvez vous m'aider svp
Merci =)

ViPHP
AB
ViPHP | 5818 Messages

11 mars 2013, 14:11

Il faut faire un champ de téléchargement, et si le fichier est uploadé tu l'enregistre dans ta base de donnée.

nidnight
Invité n'ayant pas de compte PHPfrance

11 mars 2013, 14:39

si j'ai bien compris il faut que je change :
Dans mon formulaire j'ai :
<input type="file" name="pdf"/>

Dans la requète php j'ai :

if(isset($_POST['submit'])){
 
 $db = mysql_connect('***', '***', '***');  // connexion à la base
        mysql_select_db('***',$db);             // sélection de la base
 
 $sql = "INSERT INTO perso (id,nom,descrip,pdf) VALUES ('','$nom','$description','$pdf')";
 mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());  
 echo "modification ok <a href='persopage3.php'>retour a la page </a>";
  }else {
}
il faut que j'ajoute
move_uploaded_file

c'est la première foi que je fais ça as tu un exemple ?
Merci

ViPHP
AB
ViPHP | 5818 Messages

11 mars 2013, 19:28

Oui il faut que tu en ajoute "un peu plus". D'ailleurs je te conseille de faire un script de téléchargement et ensuite de greffer l'enregistrement en bdd. Quand on débute (et même après) c'est mieux de séparer les problèmes. La base est dans le lien précédent que je t'ai donné (et liens connexes).
Ensuite on peut faire quelque chose de fonctionnel assez facilement mais pour gérer les erreurs cela demande plus de travail. Il y a un tuto ici (éventuellement tu peux utiliser la classe toute faite en lien dans le dernier message de ce lien).