IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques & Frameworks Discussion :

Image dans bdd


Sujet :

Bibliothèques & Frameworks

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 18
    Par défaut Image dans bdd
    Bonjour,
    Je suis en train de tester le framework Prototype, pour cela j'ai un formulaire Php, je réalise mes insertions/modifications/supressions a l'aide d'une fonction utilisant la méthode Ajax.request... Tout ce passe pour le mieux
    Néanmoins, j'aimerais pouvoir enregistrer des images dans ma bdd dans un champs de type blob.

    Pour cela, j'ai utilisé un input de type file (id=image) cependant avec le $F("image") de Prototype, je récupère le chemin de l'image inscrite dans l'input et non pas l'image elle-même...

    Voici mon code:
    - js:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    function sendRequest(page) 
                    {
     
                        new Ajax.Request(page, 
                            { 
                            method: 'post', 
                            postBody: "categ="+$F("categ")+"&souscat="+$F("souscat")+"&titre="+$F("titre")+"&designation="+$F("designation")+"&image="+$F("image"),
                            onComplete: showResponse, 
                            });
                    }
     
     
                    function showResponse(req)
                    {
                        $('show').innerHTML= req.responseText;
                    }
    -xhtml:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    <tr>
    														<td align="center" colspan="2">
    															<fieldset><legend>Lier une image:</legend>
    																<input id="image" type='file' name='image' value='Choisir une image'>
    															</fieldset>
    														</td>
    													</tr>
    													<tr>
    														<td colspan="2">&nbsp;</td>
    													</tr>
    													<tr>
    														<td colspan="2" align="center">
    															<fieldset><legend>Actions:</legend>
    															<table>
    																<tr>
    																	<td colspan="2" align="center"><input type='submit' value='Cr&eacute;er' onClick='sendRequest("cree_element.php")' /> | <input type='submit' value='Modifier' onClick='sendRequest("edit_element.php")' /> | <input type='submit' value='Supprimer' onClick='sendRequest("del_element.php")' /></td>
    																</tr>
    																<tr id="chargement" style="display: none;">
    																	<td  colspan="2" align="center"><img src="../images/loading.gif" alt="chargement" title="chargement" /></td>
    																</tr>
    																<tr>
    																	<td id="show" colspan="2" align="center"></td>
    																</tr>
    															</table>
    															</fieldset>
    														</td>
    													</tr>
    (la fonction php est un simple insert ou un update dans le cas d'une modification)


    Si quelqu'un a une idée... je suis preneur... Merci d'avance.

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    mhhhh je pense que pour une raison évidente de sécurité ce n'est pas possible, cela voudrait dire que l'on aurait accès aux fichers en local.

    Peute être en bidouillant avec un iframe caché pour lancer un submit de form pour du coup bien récupérer le fichier en $_FILES puis une fois le traitement terminé dans l'iframe enchainer sur l'ajax sur le parent ?

    sinon il existe une solution qui ne fonctionne que pour le gecko powered :
    http://www.captain.at/ajax-file-upload.php

    [edit]


    he bé je ne suis pas le seul à avoir imaginé le coup de l'iframe:
    http://www.openjs.com/articles/ajax/ajax_file_upload/
    [edit]
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 18
    Par défaut
    Merci pour les idées et les recherches
    J'ai essayé la 2ième solution, qui corresponds plus avec ce que j'ai envie de faire, ça marcherait presque mise à part que maintenant je récupère un $_POST["image"] vide...

    -xhtml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <form id="file_upload_form" method="post" enctype="multipart/form-data" action="upload.php">
    			<input name="image" id="image" size="27" type="file" /><br />
    			<input type="submit" name="action" value="Upload" /><br />
    			<iframe id="upload_target" name="upload_target" src="" style="width:0;height:0;border:0px solid #fff;"></iframe>
    		</form>
    - js
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    function init()
    		{	
     
    			document.getElementById('file_upload_form').onsubmit=function() 
    			{
     
    				document.getElementById('file_upload_form').target = 'upload_target'; //'upload_target' is the name of the iframe
     
    			}
    		}
    		window.onload=init;
    je met juste un alert() sur $_POST("image") et $_FILES("image") dans ma page upload.php et les 2 sont donc vides...

Discussions similaires

  1. Image dans Bdd (Sql Serveur ) avec model edmx
    Par GilardeauG dans le forum Linq
    Réponses: 1
    Dernier message: 26/10/2009, 16h29
  2. Enregistrement et sélections images dans bdd ms sql.
    Par Jean_guy dans le forum Windows Forms
    Réponses: 5
    Dernier message: 05/01/2008, 11h51
  3. Image dans bdd
    Par nicolas.p dans le forum Langage SQL
    Réponses: 1
    Dernier message: 05/06/2007, 09h45
  4. [Conception] stocker lien image dans bdd
    Par aurelie1981 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 23/02/2007, 16h38
  5. [MySQL] insérer image dans bdd grace a un formulaire
    Par pod1978 dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 14/03/2006, 08h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo