[LatinaLUG] sito web php dati da file cominciamobene

Francesco Ficarola francesco_ficarola@libero.it
Mer 9 Gen 2008 15:40:39 CET


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,
-- 
Francesco Ficarola <francesco_ficarola_at_libero_dot_it>
Presidente LUG-PV (www.pvlug.org)
Mailing List: lugpv_at_lists.linux_dot_it

[GPG KeyID: 0xDBA99D92]
http://www.pvlug.org/gpgkeys/francesco_ficarola.asc

-------------- parte successiva --------------
Un allegato non testuale è stato rimosso....
Nome:        signature.asc
Tipo:        application/pgp-signature
Dimensione:  252 bytes
Descrizione: OpenPGP digital signature
Url:         http://lists.linux.it/private/latina/attachments/20080109/b3d8be2c/attachment.pgp 


Maggiori informazioni sulla lista latina