Joomla.it Forum

Non solo Joomla... => Sviluppo => : mattyfog 13 Jan 2010, 21:22:59

: Problema banale componente
: mattyfog 13 Jan 2010, 21:22:59
Sono di fronte ad un errore probabilmente semplice.
Quando richiamo il componente ottengo all'interno della pagina joomla questo:
Uploader // Include the syndicate functions only once
Notice: Undefined index: miofile in F:\Downloads\wpp_2gb_3.5.2\winPenPack\Bin\wpp_pampa\PAMPA\apache\htdocs\www\sito01\components\com_uploader\uploader.php on line 34

Notice: Undefined index: miofile in F:\Downloads\wpp_2gb_3.5.2\winPenPack\Bin\wpp_pampa\PAMPA\apache\htdocs\www\sito01\components\com_uploader\uploader.php on line 35
Si sono verificati dei problemi durante l'Upload


Questi errori si generano perchè viene eseguito il codice all'interno dell'if (che ho "grassettato" nel codice seguente).
Invece, siccome per richiamare il componente devo andare alla pagina http://localhost:85/www/sito01//index.php?option=com_uploader (http://localhost:85/www/sito01//index.php?option=com_uploader) la variabile $_FILES (che è un array) non dovrebbe essere assegnata. Pertanto dovrebbe venire eseguito il codice nell'else.
:
<?php
 
// no direct access
defined'_JEXEC' ) or die( 'Restricted access' );

echo 
'
<div class="componentheading">Uploader'
?>

 
// Include the syndicate functions only once

<?PHP

[B]if(isset($_FILES))[/B] {
                     [....codice....]
}

else
{
                     [....codice....]
}
?>



Dove sbaglio?
Grazie a tutti per il tempo vi faccio perdere sempre più spesso.
: Re:Problema banale componente
: mmleoni 13 Jan 2010, 21:28:10
isset() determina se una variabile è definita e $_FILES è SEMPRE definita... usa empty() ;)

ciao,
marco

ps: in realtà sarebbe un hash table...
: Re:Problema banale componente
: mattyfog 13 Jan 2010, 22:03:34
ho quindi scritto così:
:
if(empty($_FILES))
ma ho sempre lo stesso problema
: Re:Problema banale componente
: mmleoni 13 Jan 2010, 22:26:49
noooo  >:(

leggi le istruzioni su come usare $_FILES su php.net

ciao,
marco

: Re:Problema banale componente
: mattyfog 13 Jan 2010, 23:08:03
risolto grazie infinite :)
qui la documentazione: http://php.net/manual/en/features.file-upload.php
senti però ho ancora un problema: cioè il componente appare come se fosse in un wrapper con altezza di 5px, voglio dire, il testo "prodotto" dal componente non si riesce a leggere perchè joomla visualizza solo la prima riga e mezza ed il resto rimane coperto.. come faccio?
: Re:Problema banale componente
: mmleoni 13 Jan 2010, 23:27:14
dovrei essere un indovino per capirlo! ;D
verifica nel codice html se vi è tutto l'output che sarebbe dovuto essere prodotto. se c'è potrebbe essere un problema di css, o un errore nell'html scritto dal tuo componente: verifica che ogni tag aperto sia correttamente chiuso.

ciao,
marco
: Re:Problema banale componente
: mattyfog 13 Jan 2010, 23:28:41
il programma produce questo codice:
:
<html><head/><body>
  <form action='index.php?option=com_uploader' enctype='multipart/form-data' method='post'>
  <input name='miofile' type='file' />
  <input type='submit' value='Upload' /> </form>
  </body><html>
potrebbe essere il problema?
: Re:Problema banale componente
: mmleoni 13 Jan 2010, 23:33:41
non lo so, ma se sei all'interno dell'area component di un template perché inizi con '<html><head/><body>' il tuo output?? (sei nel mezzo di una pagina)

ciao,
marco
: Re:Problema banale componente
: mattyfog 13 Jan 2010, 23:39:30
non va uguale eppure è l'unico codice che viene prodotto..
: Re:Problema banale componente
: mattyfog 14 Jan 2010, 19:05:15
up
: Re:Problema banale componente
: mmleoni 14 Jan 2010, 20:24:16
eh calma!  >:(
ci sono anche gli altri...

che significa l'unico codice che viene prodotto che non c'è il template o che il tuo componente genera solo quel codice?
se il codice indicato è ciò che il componente genera, correttamente, ed è correttamente inserito nel template, verifica che che non sia stato ridefinito lo style dei tag usati (form ed input) da qualche parte del css, o che il contenitore (div?) del componente non abbia errori.

ciao,
marco
: Re:Problema banale componente
: mattyfog 14 Jan 2010, 22:51:35
l'intero componente è costituito da un solo il file il cui codice è il seguente:
:
<?php
 
// no direct access
defined'_JEXEC' ) or die( 'Restricted access' );

echo 
'
<div class="componentheading">Uploader'
?>

 

<?PHP

if(empty($_FILES['attachement']) && !empty($_FILES['attachement']['name']))
{

//RECUPERO IL NOME UTENTE
    $user =& JFactory::getUser();
   
    // RECUPERO I PARAMETRI DA PASSARE ALLA FUNZIONE PREDEFINITA PER L'UPLOAD
$cartella = 'upload/';
$percorso = $_FILES['miofile']['tmp_name'];
$nome = $_FILES['miofile']['name'];

    //CREO UNA CARTELLA PER L'UTENTE NEL CASO NON ESISTESSE GIA', IN QUESTA CARTELLA VERRANNO CARICATI I FILE DI QUELL'UTENTE
$intDir=$_SERVER['DOCUMENT_ROOT'].'/upload/'.$user->username.'/'; 
    if (is_dir($intDir))
    {
    }
    else
    {
      mkdir($intDir, 0777);
    }
   
    // ESEGUO L'UPLOAD CONTROLLANDO L'ESITO
    if (move_uploaded_file($percorso, $_SERVER['DOCUMENT_ROOT'].'/upload/'.$user->username.'/'))
{
print "Upload eseguito con successo";
      //INVIO DELLA MAIL
      $destinatario="mail@destinatario.it";
      $oggetto="E' stato caricato un file da ".$user->username;
      $messaggio="messaggio mail";
      mail($destinatario, $oggetto, $messaggio);

}
else
{
print "Si sono verificati dei problemi durante l'Upload";
}
}

else
{
echo "<form action='index.php?option=com_uploader' enctype='multipart/form-data' method='post'>
  <input name='miofile' type='file' />
  <input type='submit' value='Upload' /> </form>";
}
?>



: Re:Problema banale componente
: mmleoni 14 Jan 2010, 22:58:51
a parte che non si deve postare inutilmente codice, ma al più allegarlo (e quindi cancellalo), dove è la chiusura del div ad inizio pagina?
: Re:Problema banale componente
: mattyfog 14 Jan 2010, 23:24:24
Mm forse potrebbe essere proprio il div.. Grazie :)
Non mi sembra di aver postato inutilmente codice, nè tantomeno che sia fastidioso, anzi mi sembra + comodo di un allegato.
: Re:Problema banale componente
: mmleoni 14 Jan 2010, 23:32:31
sì, ma intasa il db e rallenta le ricerche.

ps: di controllare i tags mi pare di averlo detto 7 post fa  >:(

ciao
: Re:Problema banale componente
: mattyfog 18 Jan 2010, 20:04:04
date un'occhiata al codice sorgente in allegato please, non carica niente.. :(
perchè?


[allegato vecchio più di un anno eliminato automaticamente]
: Re:Problema banale componente
: 56francesco 18 Jan 2010, 20:08:06
mattyfog  invece di postare codice ed allegati fai cosa utile citando il nome del componente perchè non è come il codice html che si risolve tutto in due righe..

è almeno un componente joomla e non commerciale?
: Re:Problema banale componente
: mattyfog 18 Jan 2010, 21:22:40
è un semplice componente che ho fatto io da zero