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

PHP & Base de données Discussion :

Passage de variables hidden dans formulaire [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Avril 2011
    Messages
    660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 660
    Par défaut Passage de variables hidden dans formulaire
    Bonjour,

    J'essaye de faire passer des variables hidden dans un formulaire.

    Seulement, rien n'y fait, ces dernières ne veulent pas passer étant donné que le submit est fait par un code javascript.


    uploader.php

    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
      <html>
      <head>
      <!--css du site -->
    <link rel="stylesheet" title="Standard" href="/upload/web/css/css.css" type="text/css" media="screen" />
      <!--appel du modtools-->
      <script type="text/javascript" src="/upload/web/js/mootools.js"></script>
        <script type="text/javascript" src="/upload/web/js/Swiff.Uploader.js"></script>
        <script type="text/javascript" src="/upload/web/js/Fx.ProgressBar.js"></script>
        <script type="text/javascript" src="/upload/web/js/FancyUpload2.js"></script>
     
    	<script language="javascript">
    	window.addEvent('load', function() {
     
    	var swiffy = new FancyUpload2($('demo-status'), $('demo-list'), {
    		url: $('form-demo').action,
    		fieldName: 'photoupload',
    		path: '/upload/web/js/Swiff.Uploader.swf',
    		limitSize: 8 * 1024 * 1024, // 8Mb
    		onLoad: function() {
    			$('demo-status').removeClass('hide');
    			$('demo-fallback').destroy();
    		},
    		// The changed parts!
    		debug: true, // enable logs, uses console.log
    		target: 'demo-browse' // the element for the overlay (Flash 10 only)
    	});
     
    	filter = {'Images (*.jpg, *.jpeg, *.gif, *.png)': '*.jpg; *.jpeg; *.gif; *.png'};
    	swiffy.options.typeFilter = filter;
    	/**
    	 * Various interactions
    	 */
     
    	$('demo-browse').addEvent('click', function() {
    		/**
    		 * Doesn't work anymore with Flash 10: swiffy.browse();
    		 * FancyUpload moves the Flash movie as overlay over the link.
    		 * (see opeion "target" above)
    		 */
    		swiffy.browse();
    		return false;
    	});
     
    	/**
    	 * The *NEW* way to set the typeFilter, since Flash 10 does not call
    	 * swiffy.browse(), we need to change the type manually before the browse-click.
    	 */
    	$('demo-select-images').addEvent('change', function() {
    		var filter = null;
    		if (this.checked) {
    			filter = {'Images (*.jpg, *.jpeg, *.gif, *.png)': '*.jpg; *.jpeg; *.gif; *.png'};
    		}
    		swiffy.options.typeFilter = filter;
    	});
     
    	$('demo-clear').addEvent('click', function() {
    		swiffy.removeFile();
    		return false;
    	});
     
    	$('demo-upload').addEvent('click', function() {
    		swiffy.upload();
    		return false;
    	});
     
    });
    </script>
     
    <!--image viens de moi ou de vous ?-->
    <?php 
    $id_article = intval($_GET['id_article']); 
    $id_type_article = intval($_GET['id_type_article']);
    $u_id = intval($_GET['u_id']); 
    ?>
     
     </head>
     <body>
    	<form action="doUpload.php" method="post" enctype="multipart/form-data" id="form-demo">
    	<fieldset id="demo-fallback">
    		<label for="demo-photoupload">
    			<!--variables hidden -->
    			<input type="hidden" name="id_article" value="<?php echo $id_article; ?>" />
    			<input type="hidden" name="id_type_article" value="<?php echo $id_type_article; ?>" />
    			<input type="hidden" name="u_id" value="<?php echo $u_id; ?>" />
    			Upload images:
    			<input type="file" name="photoupload" id="demo-photoupload" />
    		</label>
    	</fieldset>
     
    	<div id="demo-status" class="hide">
    		<p>
    			<a href="#" id="demo-browse">Explorer les fichiers</a> |
    			<input type="checkbox" id="demo-select-images" checked /> Images uniquement |
    			<a href="#" id="demo-clear">Effacer la liste</a> |
    			<a href="#" id="demo-upload">Envoyer !</a>
    		</p>
    		<div>
    			<strong class="overall-title">Progression totale</strong><br />
    			<img src="/upload/web/images/assets/progress-bar/bar.gif" class="progress overall-progress" />
    		</div>
    		<div>
    			<strong class="current-title">Progression du fichier</strong><br />
    			<img src="/upload/web/images/assets/progress-bar/bar.gif" class="progress current-progress" />
    		</div>
    		<div class="current-text"></div>
    	</div>
     
    	<ul id="demo-list"></ul>
    </form>
    </body>
    </html>

    Sachant que les variables à faire passer sont ici :

    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
    <?php 
    $id_article = intval($_GET['id_article']); 
    $id_type_article = intval($_GET['id_type_article']);
    $u_id = intval($_GET['u_id']); 
    ?>
     
     </head>
     <body>
    	<form action="doUpload.php" method="post" enctype="multipart/form-data" id="form-demo">
    	<fieldset id="demo-fallback">
    		<label for="demo-photoupload">
    			<!--variables hidden -->
    			<input type="hidden" name="id_article" value="<?php echo $id_article; ?>" />
    			<input type="hidden" name="id_type_article" value="<?php echo $id_type_article; ?>" />
    			<input type="hidden" name="u_id" value="<?php echo $u_id; ?>" />
    			Upload images:
    			<input type="file" name="photoupload" id="demo-photoupload" />
    		</label>
    	</fieldset>
    La question est donc de savoir comment récupérer ces trois variables dans la page doUpload.php ? Car même après une tentative de récupération via :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $_id_article = $_POST['id_article'];
    La variable est vide.

    Par avance, un grand merci à la personne qui réussira à m'expliquer comment procéder.

  2. #2
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    Bonjour,

    Il te suffit de rajouter un paramètre supplémentaire à swiffy.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    data: // ici tu vas chercher les valeurs de tes ids html que tu sépares avec &
    un truc du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    data: 'id_article='+$('id_article').get('value')+'&'+...
    Une dernière chose <script type="text/javascript" est devenu : <script type="application/javascript"

  3. #3
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Avril 2011
    Messages
    660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 660
    Par défaut
    Bonjour et merci !

    Je vais tester !

    Et côté doUpload.php, je pourrai récupérer le $_POST['id_article'] ?

  4. #4
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    Citation Envoyé par heretik25 Voir le message
    Et côté doUpload.php, je pourrai récupérer le $_POST['id_article'] ?
    Tu t'y réponds toi-même :
    Citation Envoyé par heretik25 Voir le message
    Seulement, rien n'y fait, ces dernières ne veulent pas passer étant donné que le submit est fait par un code javascript.
    Ton script javascript supplante l'attribut action de ton formulaire donc doUpload.php ne devrait rien voir sauf si tu l'appelles dans le javascript en charge de l'upload.

  5. #5
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Avril 2011
    Messages
    660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 660
    Par défaut
    En mettant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    	var swiffy = new FancyUpload2($('demo-status'), $('demo-list'), {
    		url: $('form-demo').action,
    		fieldName: 'photoupload',
    		path: '/upload/web/js/Swiff.Uploader.swf',
    		limitSize: 8 * 1024 * 1024, // 8Mb
    		onLoad: function() {
    			$('demo-status').removeClass('hide');
    			$('demo-fallback').destroy();
    		},
    		// The changed parts!
    		debug: true, // enable logs, uses console.log
    		target: 'demo-browse', // the element for the overlay (Flash 10 only)
    		data: 'id_article='+$('id_article').get('value')
    	});
    L'upload ne fonctionne plus. data doit être positionné sur un secteur précis ?

    Merci !

  6. #6
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    Je ne connais pas FancyUpload, peut-être que la syntaxe du data: ne lui convient pas. Faudrait voir la doc.
    Dans tous les cas pas de position particulière, l'ordre n'importe pas du tout.

    Il semblerait qu'il attende un objet dans data:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    {'id_article':$('id_article').get('value'), ... }

  7. #7
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Avril 2011
    Messages
    660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 660
    Par défaut
    J'ai cherché sur le web mais n'ai pas trouvé une documentation sur les paramètres que l'on peut passer. Si vous avez un lien, je suis preneur

    Qu'entendez-vous par objet ?

    EDIT : J'ai trouvé ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    data: (object|string: defaults to null) Key/data values that are sent with the upload requests.
    http://digitarald.de/project/fancyupload/


    On en parle aussi ici :

    http://www.yiiframework.com/forum/in.../page__st__100

    J'ai essayé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    data: {'Submit_Id=':<?php echo "'$id_article'"; ?>}
    Malheureusement sans succès, aucune récupération avec


  8. #8
    Membre très actif
    Homme Profil pro
    Inscrit en
    Décembre 2004
    Messages
    174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 174
    Par défaut
    Bonjour,

    Si tu n'as rien en post, c'est que tes variables ne passent pas ! Je sais, classe

    J'utilise ce script, et pour passer les variables, j'ajoute :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     data: <?php echo $data; ?>,
    Je prépare date de la façon suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $data="'a=$a&b=$b&c=$c&d=$d'";
    je le place, juste après path:'...
    Ce qui donne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    	var swiffy = new FancyUpload2($('demo-status'), $('demo-list'), {
    		url: $('form-demo').action,
    		fieldName: 'photoupload',
    		path: '/upload/web/js/Swiff.Uploader.swf',
     		data: <?php echo $data; ?>,
    		limitSize: 8 * 1024 * 1024, // 8Mb
    		onLoad: function() {
    			$('demo-status').removeClass('hide');
    			$('demo-fallback').destroy();
    		},
    		// The changed parts!
    		debug: true, // enable logs, uses console.log
    		target: 'demo-browse', // the element for the overlay (Flash 10 only)
    	});
    Voilà, en te souhaitant que cette fois, ça marche.

    @+

  9. #9
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    Est ce que tu pourrais essayer avec ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    data: 'id_article='+$('id_article').get('value'),
    Laisse bien la virgule à la fin.

  10. #10
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Avril 2011
    Messages
    660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 660
    Par défaut
    Citation Envoyé par lenono Voir le message
    Bonjour,

    Si tu n'as rien en post, c'est que tes variables ne passent pas ! Je sais, classe

    J'utilise ce script, et pour passer les variables, j'ajoute :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     data: <?php echo $data; ?>,
    Je prépare date de la façon suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $data="'a=$a&b=$b&c=$c&d=$d'";
    je le place, juste après path:'...
    Ce qui donne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    	var swiffy = new FancyUpload2($('demo-status'), $('demo-list'), {
    		url: $('form-demo').action,
    		fieldName: 'photoupload',
    		path: '/upload/web/js/Swiff.Uploader.swf',
     		data: <?php echo $data; ?>,
    		limitSize: 8 * 1024 * 1024, // 8Mb
    		onLoad: function() {
    			$('demo-status').removeClass('hide');
    			$('demo-fallback').destroy();
    		},
    		// The changed parts!
    		debug: true, // enable logs, uses console.log
    		target: 'demo-browse', // the element for the overlay (Flash 10 only)
    	});
    Voilà, en te souhaitant que cette fois, ça marche.

    @+
    Bonsoir, merci pour la proposition, j'essaye

  11. #11
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Avril 2011
    Messages
    660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 660
    Par défaut
    Citation Envoyé par rawsrc Voir le message
    Est ce que tu pourrais essayer avec ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    data: 'id_article='+$('id_article').get('value'),
    Laisse bien la virgule à la fin.
    Oui, j'avais vu la proposition de la personne sur le forum et avait essayé mais les boutons de l'envoi ne fonctionnes plus avec ce code.

  12. #12
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Avril 2011
    Messages
    660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 660
    Par défaut
    Finalement, ça fonctionne en préparant la variable comme le propose lenono

    Un très grand merci à vous deux pour votre aide

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $id_article = "'id_article=".$id_article."'";
    puis :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    data: <?php echo $id_article; ?>,
    Par-contre pour passer plusieurs variables, il faut un séparateur ?

  13. #13
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    oui le &

  14. #14
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Avril 2011
    Messages
    660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 660
    Par défaut
    Étonnement, je ne récupère que les deux premiers paramètres, avez vous une idée de pourquoi u_id n'est pas récupéré ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    	$data_post = "'id_article=".intval($_GET['id_article'])."&id_type_article=".intval($_GET['id_type_article'])."&u_id=".intval($_GET['u_id'])."'";
    Alors qu'un echo de la chaîne donne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    'id_article=163&id_type_article=5&u_id=2'

  15. #15
    Membre émérite
    Inscrit en
    Juillet 2003
    Messages
    625
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 625
    Par défaut
    Bonjour,

    fais un pour afficher type et valeur

  16. #16
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Avril 2011
    Messages
    660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 660
    Par défaut
    Citation Envoyé par syl2095 Voir le message
    Bonjour,

    fais un pour afficher type et valeur
    Bonjour,

    Réponse du var_dump() :


  17. #17
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Avril 2011
    Messages
    660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 660
    Par défaut
    Étonnamment, en modifiant la position des variables, cela fonctionne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $data_post = "'id_article=".intval($_GET['id_article'])."&u_id=".intval($_GET['u_id'])."&id_type_article=".intval($_GET['id_type_article'])."'";
    Sujet résolu merci à tous !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [PHP-JS] Passage de variable PHP dans une fonction JS
    Par redvivi dans le forum Langage
    Réponses: 2
    Dernier message: 13/04/2008, 13h07
  2. Passage de variable GET via formulaire POST ?
    Par tintin72 dans le forum Langage
    Réponses: 4
    Dernier message: 25/07/2007, 17h51
  3. [FLASH 8] Variables Flash dans formulaire html
    Par tarzanjane dans le forum Flash
    Réponses: 6
    Dernier message: 21/09/2006, 12h16
  4. [POO] [PHP4] passage de variables d'un formulaire
    Par xG-Hannibal dans le forum Langage
    Réponses: 8
    Dernier message: 29/05/2006, 14h28
  5. passage de variable par un formulaire (checkbox)
    Par artotal dans le forum Langage
    Réponses: 3
    Dernier message: 16/10/2005, 19h16

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