[LatinaLUG] sito web php dati da file cominciamobene

Davide "DeMoN3" Angelini demon3rock@gmail.com
Mer 9 Gen 2008 15:38:04 CET


Il 09/01/08, Francesco Ficarola<francesco_ficarola@libero.it> ha scritto:
> Davide "DeMoN3" Angelini ha scritto:
> > Ma usare un semplice echo "<input type='hidden' name='utente'
> > value='pippo'>"; è troppo semplice??L'apice singolo non interrompe i
> > doppi apici...
>
> Con gli apici singoli hai lo stesso problema degli apici doppi:
> Apici doppi --> \ per ulteriori apici doppi
> Apici singoli --> \ per ulteriori apici singoli.
>
> Inoltre gli apici singoli non ti leggono le variabili php, ma ti
> stampano direttamente il nome della variabile con tanto di $ davanti.
> Per questo motivo molti software basati sul linguaggio PHP presentano
> bug di questo genere... semplicemente perchè i programmatori (per lo più
> poco attenti) fanno confusione tra apice singolo e doppio lasciando
> indefinite alcune variabili... e giù di defacement dei siti.
>
> Esempio:
> echo 'Ciao, mi chiamo $name e sono nato nell\'anno 1984';
> (notare lo \ obbligatorio davanti all'apostrofo di "nell'anno")
>
> produrrà un output di questo genere:
> "Ciao, mi chiamo $name e sono nato nell'anno 1984".
>
> Come puoi notare $name non viene processata.
>
> In questo modo invece:
> echo
> <<<MSG
> Ciao, mi chiamo $name e sono nato nell'anno 1984.
> MSG;
> (notare che con questo metodo non ho bisogno di nessuno \).
>
> produrrà questo output:
> "Ciao, mi chiamo Francesco e sono nato nell'anno 1984".
>
> Dunque, ricapitolando... quando usi i doppi apici devi stare attento ad
> ulteriori apici doppi. Quando usi invece i singoli apici devi stare
> attento sia ad ulteriori singoli apici sia a non inserire tra di essi
> variabili PHP che bisogna processare.
>
> E' normale che se su un singolo esempio mi chiedi quale soluzione sia
> più semplice la cosa può essere del tutto soggettiva, ma IMHO questa
> soggettività si perde quando produci migliaia e migliaia di linee di
> codice PHP mischiate soprattutto con form e codice HTML, dove apici e
> doppi apici ti fanno rincoglionire. A quel punto credo che sia più
> semplice utilizzare solo un determinato attributo, ovvero <<<WORD WORD;
> e non stare lì a ricordare di inserire tutti gli \ e il processamento di
> variabili. Naturalmente parlo per esperienza personale, nulla toglie che
> uno può benissimo usare i singoli e doppi apici... stress in più per lui! :D
>
> Ciao,
> --

Partendo dal fatto che il programmatore dovrebbe conoscere la
differenza tra " e ' ,altrimenti stiamo parlando inutilmente,
basterebbe scrivere echo "Ciao, mi chiamo $name e sono nato nell'anno
1984"; o,nel caso di una variabile composta da una parte fissa e una
parte variabile(tipo foto1,foto2,foto3 etc..) si può fare
echo "Ciao, mi chiamo foto".$name." e sono stato scattato nell'anno
1984"; ...il tutto dentro un ciclo...dovrebbe funzionare + che bene...


Maggiori informazioni sulla lista latina