[Php-it] Ritornare HTML e PHP in una funzione
Matteo C. - MIF
matteo.c at mif.it
Tue Jul 4 15:19:05 CEST 2006
spacemarc ha scritto:
> Ho una funzione esterna:
>
> function permessi() {
> global $permessi, $codice ;
> if ($permessi == "upload") {
> $codice ='<td>Upload file - echo
> "Dimensione massima: " . $maxfilesize/1024 . " KB";</td>
> <td>
> <input type="file" name="userfile"> Attuali chmod per la
> directory $file_dir.": "; substr(sprintf(\'%o\',
> fileperms($uploaddir)), -3); echo $upload_msg; </td>';
>
> } elseif ($permessi == "letturestampe") {
> $codice = "altro codice HTML con altro codice PHP";
> }
> }
>
>
> La richiamo con "permessi()" ma ovviamente laddove c'è del PHP me lo
> stampa invece che interpretarlo. Dove sbaglio? Mi consigliate,
> eventualmente, qualche altro modo più pratico? grazie, Marcello
Da quanto vedo ci sono un po' di errori logici e di sintassi.
Non puoi assegnare un valore ad una variabile e contemporaneamente fare
un echo all'interno dell'assegnazione, senza che la funzione si comporti
in modo errato.
Devi decidere prima se vuoi che la funzione mandi direttamente in output
la variabile, la ritorni alla fine, o entrambe le cose.
Personalmente scriverei la funzione così:
function permessi() {
global $permessi, $codice ;
if ($permessi == "upload") {
$codice ='<td>Upload file - Dimensione massima: ' .
$maxfilesize/1024 . ' KB;</td>';
$codice .='<td><input type="file" name="userfile">';
$codice .='Attuali chmod per la directory '.$file_dir.':
'.substr(sprintf('%o', fileperms($uploaddir)), -3).$upload_msg.'</td>';
} elseif ($permessi == "letturestampe") {
$codice = "altro codice HTML con altro codice PHP";
}
return $codice;
}
CIAO!
Matteo
More information about the Php-it
mailing list