PDA

View Full Version : PHP e W3C


fale
03-12-2006, 15:41
...spero di aver postato nel forum giusto (se no i mod avranno clemenza e me lo sposteranno in quello adeguato...)

alor:
il mio problema è il seguente:
la pagina in questione è questa (ma anche tutte le altre che hanno la barra verticale) http://lariga.it/new/contract.php?cmd=musei&pag=1

tanti errori mi vengono dati proprio da sta barra verticale:
il validatore da problemi coi "?"... (vi posto il link o il testo del validatore appena lo riesco a caricare).

le righe incriminate sono le seguenti:

function barra_verticale(){
print ('<a href=contract.php?cmd=musei&amp;pag=1>Musei</a><br>');
print ('<a href=contract.php?cmd=esterni&amp;pag=1>Esterni</a><br>');
print ('<a href=contract.php?cmd=boiserie&amp;pag=1>Boiserie</a><br>');
print ('<a href=contract.php?cmd=armadi&amp;pag=1>Armadi</a><br>');
print ('<a href=contract.php?cmd=negozi&amp;pag=1>Negozi</a><br>');
print ('<a href=contract.php?cmd=scale&amp;pag=1>Scale</a><br>');
print ('<a href=contract.php?cmd=keops&amp;pag=1>Keops</a><br>');
print ('<a href=contract.php?cmd=porte&amp;pag=1>Porte</a><br>');
}


non so più come fare :cry: :cry: :cry: :cry: :cry: :cry:


Già che ci sono faccio un altra domanda:
perchè su Firefox, si vede tutto perfetto, mentre con IE, le pagine sono un po' più alte o basse :cry: :cry: :cry:

Vi prego, aiutatemi...

anonimizzato
03-12-2006, 17:08
Allora per il primo problema è meglio vedere cosa ti segnala di preciso il validatore.

Per il secondo sappi che piccole differenze di visualizzazione tra i vari browser sono del tutto fisiologiche quindi ritienilo normale.

dierre
03-12-2006, 18:11
secondo il consorzio si fa così che io sappia (e dovrebbe essere giusto visto che di solito i miei siti sono validati :asd: )

<a href="link">testo</a>

e i br così <br/>

vizzz
03-12-2006, 19:13
print ('<a href=contract.php?cmd=musei&amp;pag=1>Musei</a><br>');
l'uso di &amp; in questo caso è errato.

teoprimo
03-12-2006, 19:38
secondo il consorzio si fa così che io sappia (e dovrebbe essere giusto visto che di solito i miei siti sono validati :asd: )

<a href="link">testo</a>

e i br così <br/>

sbaglio se affermo che tu apri e chiudi i tag "in questo modo" perchè utilizzi la marcatura XHTML?
se non erro dipende dal tipo di valifica che richiede o che è impostata nel doctype della pagina...

ciaooooo

dierre
03-12-2006, 21:21
sbaglio se affermo che tu apri e chiudi i tag "in questo modo" perchè utilizzi la marcatura XHTML?
se non erro dipende dal tipo di valifica che richiede o che è impostata nel doctype della pagina...

ciaooooo

davo per scontato che chiedesse appunti per un validatore xhtml, effettivamente non lo ha specificato.

fale
03-12-2006, 21:25
allora:
http://validator.w3.org/check?uri=http%3A%2F%2Flariga.it%2Fnew%2Fcontract.php%3Fcmd%3Dmusei%26pag%3D1

questo è il link al validatore (uso HTML 4.1 Traditional [mo ero dimenticato di dirlo])

L'errore che da è:
Line 14 column 85: an attribute value must be a literal unless it contains only name characters.

...t_menu_verticale><a href=contract.php?cmd=musei&amp;pag=1>Musei</a><br><a hre

You have used a character that is not considered a "name character" in an attribute value. Which characters are considered "name characters" varies between the different document types, but a good rule of thumb is that unless the value contains only lower or upper case letters in the range a-z you must put quotation marks around the value. In fact, unless you have extreme file size requirements it is a very very good idea to always put quote marks around your attribute values. It is never wrong to do so, and very often it is absolutely necessary.
e mi evidenzia il "?"
@vizzz
non capisco perchè dici che non bisogna far così.
se metto solo la & mi da errore in fase di validazione

vizzz
03-12-2006, 21:42
allora:
http://validator.w3.org/check?uri=http%3A%2F%2Flariga.it%2Fnew%2Fcontract.php%3Fcmd%3Dmusei%26pag%3D1

questo è il link al validatore (uso HTML 4.1 Traditional [mo ero dimenticato di dirlo])

L'errore che da è:
e mi evidenzia il "?"
@vizzz
non capisco perchè dici che non bisogna far così.
se metto solo la & mi da errore in fase di validazione
l'errore te lo da su ? perche crede che tu voglia passare come valore di cmd "musei&amp;pag=1", infatti dice "an attribute value must be a literal"

fale
03-12-2006, 21:48
se io metto"&" al posto di "&amp;" mi da errore sull'"&"
... quindi non capisco il tuo consiglio...

vizzz
03-12-2006, 21:49
che tipo di errore ti da?

fale
03-12-2006, 21:51
guarda ora il link del validatore... ho modificato le prime righe come suggerisci tu...

ianaz
03-12-2006, 22:03
Usi le sessioni nel codice?

vizzz
03-12-2006, 22:13
allora...ho capito il problema...l'uso di &amp; è giusto per HTML 4.1 Traditional (anche se a me fa un po senso :D )
il problema che resta è che devi scrivere così

print ('<a href=\"contract.php?cmd=musei&amp;pag=1\">Musei</a><br>');

fale
04-12-2006, 16:21
Questa è la soluzione :)
print ('<a href="contract.php?cmd=musei&amp;pag=1">Musei</a><br>');

Vizzz, ti scandalizzi se ti dico che mi ti amo (vedila in modo buono del termine)

vizzz
04-12-2006, 17:19
un po si ahahah :D
lo stesso problema lo vedevo su una paginetta del cavolo creata in 2 secondi e la cosa mi dava i nervi