objectifweb Posté 20 Janvier 2009 Posté 20 Janvier 2009 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.phpinclude_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
yuston Posté 22 Janvier 2009 Posté 22 Janvier 2009 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: 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.
objectifweb Posté 22 Janvier 2009 Auteur Posté 22 Janvier 2009 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
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant