Aller au contenu
  • Pas encore inscrit ?

    Pourquoi ne pas vous inscrire ? C'est simple, rapide et gratuit.
    Pour en savoir plus, lisez Les avantages de l'inscription... et la Charte de Zébulon.
    De plus, les messages que vous postez en tant qu'invité restent invisibles tant qu'un modérateur ne les a pas validés. Inscrivez-vous, ce sera un gain de temps pour tout le monde, vous, les helpeurs et les modérateurs ! :wink:

Qui a de l'expérience avec jupload.biz ?


objectifweb

Messages recommandés

Bonjour,

 

J'ai un petit soucis avec l'utilisation de jupload.biz pour récolter les informations d'un formulaire en même temps que l'envoi des images.

 

J'ai mis dans mon formulaire un champs invisible que je compte récolter, par la suite cette valeur sera changée dynamiquement mais pour essayer, j'ai également ajouté un champs texte

 

<input type="hidden" name="mon_id" value="56" />

 

Mon formulaire :

 

<html>
<body>
<script LANGUAGE="JavaScript" type="text/javascript">
	function init() {

	}
</SCRIPT>
<form name="JUploadForm" action="POST">
<div>
<applet
	title="JUpload"
	name="JUpload"
	code="com.smartwerkz.jupload.classic.JUpload"
	codebase="."
	archive="dist/jupload.jar,
			dist/commons-codec-1.3.jar,
			dist/commons-httpclient-3.0-rc4.jar,
			dist/commons-logging.jar,
			dist/skinlf/skinlf-6.2.jar"
	width="640"
	height="480"
	mayscript="mayscript"
	alt="JUpload by www.jupload.biz">

<param name="Config" value="cfg/jupload.default.config">
<param name="Upload.Formname" value="JUploadForm">

Your browser does not support Java Applets or you disabled Java Applets in your browser-options.
To use this applet, please install the newest version of Sun's Java Runtime Environment (JRE).
You can get it from <a href="http://www.java.com/">java.com</a>

</applet>
</div>
		<input type="hidden" name="mon_id" value="56" />
</form>
</body>
</html>

 

Comme expliqué dans la doc, j'ai bien ajouté le paramètre <param name="Upload.Formname" value="JUploadForm">

 

Le code php:

 

<?php
/**
* JUpload-Post Handler
*
* These scripts are not for re-distribution and for use with JUpload only.
*
* If you want to use these scripts outside of its JUpload-related context,
* please write a mail and check back with us @ [email protected]
*
* @author Dominik Seifert, [email protected]
* @copyright Smartwerkz, Haller Systemservices: www.jupload.biz
*/

global $_ju_listener, $_ju_uploadRoot, $_ju_fileDir, $_ju_thumbDir, $_ju_maxSize, $monid;

// Include a file which provides several helper functions and is configured through the jupload.cfg.php
include_once(dirname(__FILE__) . "/inc/jupload.inc.php");

// Upload is starting
$_ju_listener->onStart($_SERVER["HTTP_X_JUPLOAD_ID"]);

/////////////////////////// my test display nothing ///////////////////////////
$monid=$_POST["mon_id"];
echo "<br>Mon id est : ".$monid;
/////////////////////////////////////////////////////////////////////////////////////////

/**
* Iterate over all received files.
*/
foreach($_FILES as $tagname=>$fileinfo) {
// get the name of the temporarily saved file (e.g. /tmp/php34634.tmp)
$tempPath = $fileinfo['tmp_name'];

// The filename and relative path within the Upload-Tree (eg. "/my documents/important/Laura.jpg")
$relativePath = $_POST[$tagname . '_relativePath'];

// Do we have a valid file?
if (!checkSavePath($relativePath) || !$_ju_listener->checkValid($relativePath, $tempPath)) {
	continue;
}

$files[$relativePath] = $tempPath;
}

if ($files) {
foreach ($files as $relativePath => $tempPath)  {
	// Do we have a thumbnail? If it is not a thumbnail, it is a regular file.
	$isThumb = $_POST[$tagname . '_thumbnail'];

	// Where to save the file? Determine the target-directory, depending on if it is a thumbnail or a file
	$filepath = $_ju_uploadRoot . ($isThumb ? $_ju_thumbDir : $_ju_fileDir) . "/$relativePath";

	// Create folders
	mkdirs(dirname($filepath = normalize($filepath)));

	// Move the temporary file to the target directory
	move_uploaded_file($tempPath, $filepath) or die("Error while moving temporary file to target path: " . $relativePath);

	// Tell the listener that another file has successfully been received.
	$_ju_listener->onReceived($filepath, $relativePath, $isThumbs);
}
}

$_ju_listener->finished();
?>

 

Les images arrivent parfaitement, mais les variables du formulaire restent malheureusement vide !

J'ai essayé $_POST["mon_id"], $_GET["mon_id"],$mon_id mais rien à faire

 

Quelqu'un a déjà une expérience avec jupload.biz et reussi à récolter des variables de formulaire ?

 

Patrick

Lien vers le commentaire
Partager sur d’autres sites

Il m'a l'air bien louche, ce code... Une applet au milieu d'un formulaire pour gérer les uploads de fichiers ?!?

Es-tu certain que le formulaire est réellement posté (ce qui expliquerait pourquoi tu n'as pas accès à $_POST["mon_id"]) ?

D'ailleurs, d'après ce que je vois, la définition du formulaire n'est pas correcte, l'action devrait être une URL et il manque l'attribut method (qui, lui, doit être égal à "POST" si tu comptes récupérer les données par $_POST)

 

-- edit --

J'ai regardé en vitesse la tête de l'applet : ça m'étonnerait qu'il y ait un quelconque moyen de récupérer (de manière "classique", s'entend) le contenu d'un champ que tu aurais placé dans ton formulaire...

Lien vers le commentaire
Partager sur d’autres sites

Il m'a l'air bien louche, ce code...

 

Bonjour KewlCat

 

Ce code n'a rien de louche, c'est l'applet java qui se charge de faire le transfert des contenus des champs qui normalement sont dispos dans la variable globale $_GET

 

Doc qui explique : http://www.jupload.biz/manual/#features.userinput

 

JUpload also can submit custom user input (eg from textareas, checkboxes etc) from the embedding page.

 

The feature is disabled by default and can be activated by setting the Upload.Formname. All elements of the specified form will then be sent via GET with each Upload-Request.

 

In PHP for example, all values (text, checkbox-/radio- selections, options, lists, buttons) of this form are stored in the superglobal: $_GET

 

Patrick

Lien vers le commentaire
Partager sur d’autres sites

Ah... OK...

L'applet envoie les valeurs des champs du formulaire dans l'URL à chaque fois qu'elle uploade un fichier... OK...

A priori tu recevras donc ton "mon_id" dans $_GET["mon_id"]

Leur doc ne dit pas si c'est l'attribut "name" du formulaire ou son attribut "id" qu'il faut donner en paramètre dans Upload.Formname ?

Lien vers le commentaire
Partager sur d’autres sites

Ah... OK...

L'applet envoie les valeurs des champs du formulaire dans l'URL à chaque fois qu'elle uploade un fichier... OK...

A priori tu recevras donc ton "mon_id" dans $_GET["mon_id"]

Leur doc ne dit pas si c'est l'attribut "name" du formulaire ou son attribut "id" qu'il faut donner en paramètre dans Upload.Formname ?

 

Bonjour KewlCat

 

Désolé pour le retard mais je suis notifié une fois sur X que j'ai une réponse malgré que je suis abonné à la discution ... heureusement, je viens voir de temps en temps !

 

J'ai essayé également d'ajouter name="xxx" id="xxx", rien ne change

J'ai également tenté de récupérer $_POST, $_GET, $variable ... vide

J'ai essayé avec firefox et ie...

J'ai demandé aide au support de jupload.biz depuis une semaine, par deux fois, aucune réponse...

Dans leurs exemples, il y a bien un formulaire avec champs, mais aucun code php associé, ni sur leur site

 

Soit je laisse passer un truc gros comme une maison, soit leur truc ne fonctionne pas mais cela m'étonne quand même

 

Patrick

Lien vers le commentaire
Partager sur d’autres sites

Si j'étais toi, je chercherais à obtenir d'une manière ou d'une autre (firebug, wireshark, changement de la cible de l'upload) le contenu de la requête qui est envoyée au serveur... (rien que pour savoir si le champ est bien envoyé, sous quelle forme, etc.)

Lien vers le commentaire
Partager sur d’autres sites

Si j'étais toi, je chercherais à obtenir d'une manière ou d'une autre (firebug, wireshark, changement de la cible de l'upload) le contenu de la requête qui est envoyée au serveur... (rien que pour savoir si le champ est bien envoyé, sous quelle forme, etc.)

 

Bonjour KewCat,

 

Encore une fois non notifié de ta réponse, j'ai firebug mais cela ne donne rien du tout, vide !

Pour ce site par exemple, j'ai les informations mais pour le mien quedalle !

 

Je continue de chercher ou je laisse tomber cette daube, ils sont même pas capable de répondre sur leur adresse support...

 

Merci de ton aide

Patrick

Lien vers le commentaire
Partager sur d’autres sites

Bonjour dylav

 

Effectivement, vu qu'on est que deux à parler sur ce sujet ...

 

Tant que j'y suis, ce forum n'envoie pas correctement les notifications, je suis abonné à cette discution, sur tous les messages reçus, j'ai été notifiés une seule fois alors que je vois bien en dessous de mes messages "Actuellement vous recevez les notications courriel lors de réponses. " ...notications ?? mais en fait je reçois rien du tout.

 

Bonne journée

Patrick

Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.
Remarque : votre message nécessitera l’approbation d’un modérateur avant de pouvoir être visible.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

  • En ligne récemment   0 membre est en ligne

    • Aucun utilisateur enregistré regarde cette page.
×
×
  • Créer...