Se connecter / S'enregistrer
Votre question

Importation du contenu d'un fichier html dans une BD

Tags :
  • Html
  • Programmation
Dernière réponse : dans Programmation
4 Décembre 2008 12:03:36

Bonjour,

Je suis nouvelle sur ce forum et j'ai une petite question à vous posez.

Voilà, depuis ce matin, je cherche à importer le contenu d'un fichier html, que je sélectionne grâce à un champ "file" dans mon formulaire.

Quand je clique sur le bouton "Valider" de ma page web, ça importe le chemin du fichier mais pas le contenu.

Il n'y a peut être pas de solution(s), mais je préfère quand même demandé au cas ou.

Si vous avez une réponse à mon soucis, elle seras la bienvenue.

Merci d'avance.

Cordialement.

Miala87

Autres pages sur : importation contenu fichier html

a c 232 L Programmation
4 Décembre 2008 13:58:18

Salut,

Citation :
Je suis nouvelle sur ce forum et j'ai une petite question à vous posez.

:bienvenue:

Pour ton soucis, si ça n'importe pas le fichier, c'est que tu fais ça mal ;) 
Il faudrait voir ton code HTML pour ton formulaire et ton code PHP ou autre pour voir comment tu récupères le fichier
4 Décembre 2008 14:05:58

Merci pour ta réponse, je peut mettre mon code php mais pas celui du fichier html (car mon entreprise ne veut pas.

Voici mon code php:

  1. <?php
  2. include 'structure/header.php';
  3.  
  4. /*Variables*/
  5. $bdd="****"; /*Base de données*/
  6. $host="***"; /*Hote (généralement localhost)*/
  7. $user="***"; /*Utilisateur*/
  8. $pass=""; /*Mot de passe*/
  9.  
  10.  
  11. /*Connexion bdd*/
  12. $DB_Link = mysqli_connect($host,$user,$pass,$bdd) or die ("Impossible de se connecter à la base de données");
  13.  
  14. ?>
  15. <form name='Creation' method='post' action="<?php echo $_SERVER[PHP_SELF]; ?>" enctype='multipart/form-data'>
  16. <input type="hidden" name="action" value="mail">
  17. <div id="demande_devis">
  18. <div class="titre_page">Choix du mail </div>
  19. <div class="form_marge_left2"></div>
  20. <div class="obligatoire" style="text-align:left;font-size:14px">Choix d'un mail :</div>
  21. <div class="form_marge_content2" >
  22. <br /><br />
  23. <p>
  24. <label class="labelCreateCompte obligatoire" style="font-size:12px">Contact :</label>
  25. <select class="input inputCbo" name="contactID">
  26. <?php
  27. $req= "SELECT contactID, contact_name FROM contact GROUP BY contact_name";
  28. $res = mysqli_query($DB_Link, $req) or die (mysqli_error($DB_Link));
  29. echo '<option value="" >--Choisir une contact--</option>';
  30. $selected = ' "selected=selected" ' ;
  31. while($val=mysqli_fetch_array($res)) {
  32. $sel = ($val["contactID"] == $_POST['contactID']) ? $selected : '' ;
  33. echo "<option value='". $val["contactID"]. "' $sel >".$val["contact_name"]."</option>\n";
  34. }
  35. ?>
  36. </select>
  37. </p>
  38. <br /><br />
  39. <p style="margin: 0px 0 20px 0;">
  40. <label class="labelCreateCompte obligatoire" style="font-size:12px">Sujet :</label>
  41. <input type="text" class="input inputCreateCompte" name="subject" value="" />
  42. </p>
  43. <p style="margin: 0px 0 20px 0;">
  44. <label class="labelCreateCompte obligatoire" style="font-size:12px">Choisir un fichier dans la liste :</label>
  45. <input type="file" class="input inputCreateCompte" name="fichier_m" value="" />
  46. </p>
  47. <center><p>
  48. <input class="form_submit" type="submit" name="valider" value="Valider" />
  49. </p></center>
  50. </div>
  51. </div>
  52. </form>
  53.  
  54. <?php
  55.  
  56. $action = $_POST['action'];
  57. switch($action)
  58. {
  59. /*Lecture et ajout des données dans la table*/
  60. case "mail":
  61.  
  62. $contact= $_POST["contactID"];
  63. $mail_subject= $_POST['subject'];
  64.  
  65. $fichier=$_FILES['fichier_m']['tmp_name'];
  66. if (file_exists($fichier))
  67. $fp = fopen($fichier, "r");
  68. else
  69. {/*Le fichier n'existe pas*/
  70. echo "Fichier introuvable!<br />Importation stoppée.";
  71. exit();
  72. }
  73.  
  74. /*Ajouter un nouvel enregistrement dans la table*/
  75.  
  76. $query="INSERT INTO mail (`mail_subject`,`mail_body_html`,`contactID`) VALUES ('$mail_subject','$fichier','$contact')";
  77. $result=mysqli_query($DB_Link, $query);
  78.  
  79. if(mysqli_error($DB_Link))
  80. {/*Erreur dans la base de données*/
  81. echo print "Erreur dans la base de données : ".mysql_error();
  82. print "<br />Enregistrement stopé.";
  83. exit();
  84. }
  85. else /*Tout va bien*/
  86. {
  87. //print "$nom, $description, $date, $dateCrea <br />";
  88. confirmation ($_POST);
  89. }
  90.  
  91. }
  92.  
  93.  
  94. function confirmation($_POST)
  95. {
  96. //print "$nom, $description, $date, $dateCrea <br />";
  97. echo "<br />Enregistrement terminée, avec succés.";
  98. }
  99.  
  100.  
  101. include 'structure/footer.php';
  102. ?>


Voilà j'espère qu'il est assez clair.

Edit Modération: suppression des identifiants de connexion et ajout de balises code
Contenus similaires
a c 232 L Programmation
4 Décembre 2008 16:33:21

Alors, en fait le code HTML que je voulais tu me l'as donné, c'était le code du formulaire, pour vérifier que tu avais bien mis le enctype pour pouvoir mettre des fichiers.
Sinon, une fois que tu as ton fichier, il faut utiliser la fonction move_uploaded_file afin d'uploader le fichier où tu veux sur ton serveur.
Une fois que tu l'auras copié dans un autre répertoire (il est dans le répertoire temporaire), tu stockeras le lien vers le fichier dans ta base de données (ou sinon tu peux directement stocker le fichier, mais c'est pas conseillé)
4 Décembre 2008 16:53:42

Merci beaucoup pour ton aide, tout fonctionne correctement maintenant.

J'avais d'autre petit bug derrière mais maintenant c'est bon.

Merci beaucoup et bonne soirée.
5 Décembre 2008 10:56:28

Bonjour,

En faite, j'ai un second soucis que je vient tout juste de remarquer.
Comment on peut récupérer le contenu d'un champ file pour l'important dans un champ d'une base de données?

J'ai mis ça pour récupérer de contenu : $source= $_FILES['fichier_u'];
Mais ça me mais "ARAY" dans la table. Il faut juste que je prenne le nom du fichier.

Si vous avez une petite idée, je vous en remercie.

Cordialement
5 Décembre 2008 14:36:29

Merci beaucoup pour ta réponse, maintenant tout fonctionne correctement.

Bonne journée
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS