Ciao a tutti.
Sto utilizzando il modulo webform per creare dei form allo scopo di raccolta di dati anagrafici ecc...
Il modulo webform consente di esportare poi in excel i dati immessi nel form. Il problema è che quando seleziono l'esportazione dei dati in excel, mi ritorna una pagina di excel bianca, senza i dati immessi.
In locale invece tutto funziona correttamente.
Qualcuno sa dirmi quale può essere il problema?
Grazie mille
Aiuto! Modulo webform
Sab, 08/05/2010 - 12:57
#1
Aiuto! Modulo webform
In realtà Webform esporta file di testo, non file in formatto proprietario di Microsoft Excel. Solo che è ben noto che Excel fa fatica a leggere file CSV (comma separated values), qundi viene formatato un CSV speciale per aiutare il povero Excel.
Ma avrebbe dovuto scaricare il file o no? Questo file (anche se ha un estensione .xls) è testo, quindi puoi aprirlo con Notepad per controllare.
Una differenza c'è. Penso che in locale usi Windows, mentre è probabile che il server è Linux. Quindi ci possono essere problemi di codifica caratteri, sarà Unicode (UTF-8) dal server. Non uso Excel da anni, spero che è impostabile questo come per OpenOffice.org...
Se hai lo stessi dati in locale e sul server, scarica entrambi e usa un tool tipo WinDiff o WinMerge per vedere se ci sono differenze...
Più imparo, più dubito.
Ho provato ad aprile il file come testo, ma anche in questo caso il risultato è una pagina bianca. Ho utilizzato anche la codifica Unicode (UTF-8).
Il tutto quindi è dovuto a qualche impostazione del server?
Il sito è un progetto universitario che è stato installato sul server dell'università.
Grazie mille
Se questo file è accessibile pubblicamente, mi dai l'URL (anche tramite email), così posso vedere meglio.
Altrimenti:
Più imparo, più dubito.
Dal tab Tabella i risultati sono visibili e nei reports non ho nessun errore rilevato.
Ho salvato il file sul mio pc e in effetti la dimensione è 0.
Non saprei.
OK, non mi hai dato molto dati, vediamo se possiamo aggiungere qualcosa.
Ho dato un occhiata rapida al codice, ed il file viene creato nel indirizzo temporaneo. Se usi Windows in locale, magari con XAMPP, questo tende di essere qualcosa tipo C:\temp o C:\xampp\temp, mentre per un server Linux dev'essere /tmp - controlla in admin/settings/file-system i valori (è un errore classico quando transferisci il db).
HTH
John
Più imparo, più dubito.
Scegliendo qualunque tipo di formato il file è comunque di dimensione 0.
Per qualunque webform creata, il risultato è sempre lo stesso: nessun dato esportato.
Ho guardato anche il file temporaneo ma non contiene nulla.
Grazie mille
Bene. Non c'è niente di simile sul issue queue di Webform, quindi è un problema molto locale ;-)
- in realtà non dovrebbe neanche esistere, viene cancellato dopo la spedizione.Non credo che ha che fare col formatto, ma continuo essere interessato nel valore del indirizzo temporaneo...
Hai detto
Se mi risponde alle domande capisco qualcosa in più. Mi ripeto: controlla in admin/settings/file-system 'Percorso di sistema' e 'Directory temporanea' la seconda dovrebb'essere
/tmp
se sei su un server Linux, ovvio.Più imparo, più dubito.
In admin/settings/file-system ho:
percorso di sistema: sites/default/files
directory temporanea: sites/default/files/tmp.
Sono alle prime armi con Drupal, spero di essere più chiara possibile :)
Bene. Esiste questo indirizzo sites/default/files/tmp? E scrivibile? Cioè ha i permessi 775? Prova anche mettere semplicemente
/tmp
per 'Directory temporaneo' (mi ha sempre funzionato su diverse hosting).Più imparo, più dubito.
L'indirizzo esiste e credo sia scrivibile, nei permessi ho: ottale:0775.
Se metto semplicemente /tmp mi dice che il percorso non esiste.
Grazie per la pazienza
Allora va bene sites/default/files/tmp Ha le stesse Group e Owner di sites/default/files? Altrimenti prova con 777
Più imparo, più dubito.
Sì, hanno le stesse Group e Owner. Anche con 777 non funziona. :(
Leggevo quà e là in rete e ho trovato dei problemi simili: può essere un problema di memoria?
http://drupal.org/node/504994
Rimettilo a 775.
E' possibile che sia un problema di memoria e/o timeout. Ma entrambi avrebbe docuto dare un errore di qualche tipo...
Hai detto che in locale funziona - stesso quantità di risultati?
Controlla la memoria disponibile e timeout: admin/reports/status/php poi cerci 'max_execution_time' e 'memory_limit'.
Sono uguale/simile locale e server?
Macina per un bel pò? O si apre il dialogo di download quasi subito?
Più imparo, più dubito.
in locale: memory limit: 128M
in remoto: non c'è specificato nessun valore a fianco di memory limit.
Per quanto riguarda il max execution time, non c'è nell'elenco.
Inizialmente pensavo fosse un problema di quantità di campi del form, ma ho provato a creare un nuovo form semplicemente con campi nome e cognome e il risultato è lo stesso.
La finestra di download si apre immediatamente.
E'un mistero, bah :)
L'unico sarebbe di mettere qualche funzione di debug nel codice di Webform.
Non mi spiace che il server non restituisce nè memory_limit, nè max_execution_time.
In admin/reports/status dice la memoria? Voce 'Limite della memoria PHP' La voce 'Libreria Unicode' è verde e dice 'Estensione Mbstring per PHP'?
Più imparo, più dubito.
Ecco quello che ho nello Status report
Access to update.php Protected
Configuration file Protected
Cron maintenance tasks Never run
Cron has not run. For more information, see the online handbook entry for configuring cron jobs. You can run cron manually.
Database updates Up to date
File system Writable (public download method)
GD library 2.0 or higher
MySQL database 5.0.60
PHP 4.4.8-pl0-gentoo
PHP memory limit
PHP register globals Disabled
Unicode library PHP Mbstring Extension
Update notifications Not enabled
Web Server Apache
Grazie, quello aiuta molto.
Oops. Immagino che in locale hai 5.2.x. Credo che il problema sta proprio li.
http://drupal.org/requirements "Recommended: PHP 5.2.x" (Webforms usa classi astratti PHP, quindi PHP >= 5) http://en.wikipedia.org/wiki/PHP#Objects
Più imparo, più dubito.
In effetti in locale ho php 5.3.1.
Contatterò il tecnico che mi ha messo il sito sul server e cerco di risolvere il problema.
Grazie mille!!!!!!!
Problema risolto: ho aggiornato la versione di PHP a 5.2.x e il tutto funziona.
Grazie per l'aiuto