Aller au contenu

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


objectifweb

Sujets conseillé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 @ info_AT_jupload.biz
*
* _AT_author Dominik Seifert, dominik.seifert_AT_smartwerkz.com
* _AT_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

Salut,

comment ton formulaire est-il envoyé? Car je ne vois pas de bouton d'envoi:

<form name="JUploadForm" action="POST">
<div>
// Java
</div>
<input type="hidden" name="mon_id" value="56" />
</form>

:nerd: :nerd:

Ah sinon, la balise form ne s'utilise pas tout à fait comme ça mais plutôt de cette forme:

<form name="NOM" action="LE CHEMIN POUR LE FICHIER QUI VA TRAITER LE FORM" method="POST/GET">

Si tu mets dans method post, tu récupères le contenu via: $_POST['name'] (et $_GET si tu as spécifié get dans l'attribut method).

Bonne chance.

Lien vers le commentaire
Partager sur d’autres sites

Bonjour yuston

En temps normal, oui, il faut un paramètre action dans la balise FORM mais ici c'est différent, on construit un formulaire mais c'est l'applet java qui 'soumet' le formulaire (ou du moins devrait)

Pour se faire selon la doc, il faut construire et nommer le formulaire avec les champs à récolter (<form name="JUploadForm" action="POST">)

Donner à l'applet java le nom de ce formulaire par le paramètre (<param name="Upload.Formname" value="JUploadForm">)

Lors de l'envoi des fichiers, en même temps l'applet va chercher les informations des champs et les soumettre, ils seront récupérés par $_GET selon la doc

http://www.jupload.biz/manual/#features.userinput

3.3. Custom User-Input

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

D'ailleurs si tu consultes le code PHP fournit, il utilise par exemple $isThumb = $_POST[$tagname . '_thumbnail'];

Patrick

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...