Erreur 404.

Réduire
X
 
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • [Problème] Erreur 404.

    Bonjour à tous.
    Je suis en train de développer un composant sous joomla! 2.5, j'ai un formulaire d'upload de fichier sur le backend et je n'arrive pas à accéder au fichier php ciblé par l'attribut "action" de mon formulaire, je me heurte à chaque fois à une magnifique page "404 sorry but the page cannot be found". Ayant déja fait ce genre de chose en php je voudrais savoir si il n'y avait pas une certaine manière de faire sur joomla! ou une url spécial à indiquer .
    En espérant avoir été clair, je vous remercie par avance.

  • #2
    Re : Erreur 404.

    Ce n'est pas exactement comme ça que tu dois procéder. tu dois repasser par ton composant, définir une variable "task" et créer une vue :

    par exemple

    dans le controleur

    function display(){
    $task = JRequest::getVar('task');
    switch($task){
    case 'listing':
    JRequest::setVar('view','listing');
    break;
    case 'upload':
    JRequest::setVar('view','upload'); // affiche le formulaire d'upload, vue qui est dans views/upload/tmpl/default.php
    break;
    case 'uploadFile':
    JRequest::setVar('view','upload'); // affiche la vue du formulaire
    uploadFile(); // traite l'upload
    break;
    default:
    JRequest::setVar('view','');
    break;
    }

    parent::display();
    }


    function uploadFile(){
    $mainframe =& JFactory::getApplication();
    $option = JRequest::getCmd('option');
    JRequest::checkToken( 'request' ) or die( 'Invalid Token' );
    $file = JRequest::getVar('fichierCSV','','files','array');

    if(isset($file['name']) && $file[name] != ''){
    jimport('joomla.filesystem.file');
    $ext = JFile::getExt($file['name']);
    $filename = JPATH_SITE.DS.'components'.DS.$option.DS."fichier. csv";

    if( !JFILE::upload($file['tmp_name'], $filename) ){
    $this->setRedirect('index.php?option='.$option.'&task=up load','L\'upload du fichier a échoué');
    return;
    }

    // ton traitement avec ce fichier


    }else{
    $this->setRedirect('index.php?option=' . $option . '&task=upload', 'Aucun fichier indique');
    return;
    }
    $mainframe->redirect('index.php?option=' . $option . '&task=upload', 'Fichier uploadé';
    }

    je te l'ai fait courte là, le fichier se trouve dans le composant, pas forcément judicieux

    dans la vue du formulaire

    <h1><?php echo JText::_('COM_TON_COMPOSANT_UPLOAD' ); ?></h1>

    <form action="index.php" method="post" name="adminForm" id="adminForm" enctype="multipart/form-data">

    <input type="hidden" name="option" value="com_ton_composant" />

    <input type="hidden" name="task" value="" />

    <fieldset class="adminForm">

    <legend>Details</legend>

    <table class="adminTable">

    <tr>

    <td width="100" align="right" class="key">Fichier:</td>

    <td><input type="file" name="fichierCSV" value="" /></td>

    </tr>

    </table>

    <?php echo JHTML::_('form.token'); ?>

    </fieldset>

    </form>
    Christophe
    http://www.webcrea.fr

    Commentaire

    Annonce

    Réduire
    Aucune annonce pour le moment.

    Partenaire de l'association

    Réduire

    Hébergeur Web PlanetHoster
    Travaille ...
    X