quarta trasformazione

Codice di output dello script trasformazione 3, come visibile nell’esempio online:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<HTML lang="it">
<HEAD>
<TITLE>bbs</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF">
<p><ahref="http://bobby.watchfire.com/bobby/bobbyServlet?URL=http://www.protty.net/trasformazione3.php" class="external">Bobby</a>
| La trasformazione di pagine dinamiche, WA </p>
<p>
<H1>BBS</H1>
<H2>il codice nella versione che presenta un solo errore priorità 3</H2>
<UL>
<LI>(2003-02-15 16:47:29) <AHREF="bbs_source.php?messageID=2">codice originario</A><BR>
<UL>
</UL>
</UL>
<FORM ACTION="bbs.php" METHOD="post">
<INPUT TYPE="hidden" NAME="inputParent" VALUE="0"><INPUT TYPE="hidden" NAME="ACTION" VALUE="POST"><TABLE BORDER="1" CELLSPACING="0" CELLPADDING="5" summary="Tabella per inserire i post">
<TR><TD><LABEL FOR="oggetto"><B>Oggetto</B></LABEL></TD><TD><INPUT TYPE="text" NAME="inputTitle" SIZE="35" id="oggetto"></TD></TR>
<TR><TD><LABEL FOR="poster"><B>Poster</B></LABEL></TD><TD><INPUT TYPE="text" NAME="inputPoster" SIZE="35" id="poster"></TD></TR>
<TR><TD><LABEL FOR="messaggio"><b>Messaggio</b></LABEL></td><td><TEXTAREA NAME="inputBody" COLS="45" ROWS="5" id="messaggio"></TEXTAREA></TD></TR>

<TR><TD COLSPAN="2"><CENTER><INPUT TYPE="submit" VALUE="Invia"></CENTER></TD></TR>
</TABLE>
</FORM>
</p>
<p>&nbsp;</p>
<p>script di Leon Atkinson</p>
</BODY>
</HTML>


Mancano i “default, place-holding characters” nelle aree editabili. Dobbiamo intervenire nel sorgente per generare in output l’attributo “value”.

Ecco le linee da modificare, tratte dal sorgente trasformazione 3:

function postForm($parentID, $useTitle)
{
printf("<FORM ACTION="bbs.php" METHOD="post">n");
printf("<INPUT TYPE="hidden" NAME="inputParent" VALUE="$parentID">");
printf("<INPUT TYPE="hidden" NAME="ACTION" VALUE="POST">");
printf("<TABLE BORDER="1" CELLSPACING="0" CELLPADDING="5" summary="Tabella per inserire i post">n");
printf("<TR><TD><LABEL FOR="oggetto"><B>Oggetto</B></LABEL></TD>");
printf("<TD><INPUT TYPE="text" NAME="inputTitle" SIZE="35" id="oggetto"></TD></TR>n");
printf("<TR><TD><LABEL FOR="poster"><B>Poster</B></LABEL></TD>");
printf("<TD><INPUT TYPE="text" NAME="inputPoster" SIZE="35" id="poster"></TD></TR>n");
printf("<TR><TD><LABEL FOR="messaggio"><b>Messaggio</b></LABEL></td>");
printf("<td><TEXTAREA NAME="inputBody" COLS="45" ROWS="5" id="messaggio"></TEXTAREA></TD></TR>n");

printf("<TR><TD COLSPAN="2"><CENTER><INPUT TYPE="submit" VALUE="Invia"></CENTER></TD></TR>n");
printf("</TABLE>n");
printf("</FORM>n");
}


Ecco le stesse linee corrette:

function postForm($parentID, $useTitle)
{
printf("<FORM ACTION="bbs.php" METHOD="post">n");
printf("<INPUT TYPE="hidden" NAME="inputParent" VALUE="$parentID">");
printf("<INPUT TYPE="hidden" NAME="ACTION" VALUE="POST">");
printf("<TABLE BORDER="1" CELLSPACING="0" CELLPADDING="5" summary="Tabella per inserire i post">n");
printf("<TR><TD><LABEL FOR="oggetto"><B>Oggetto</B></LABEL></TD>");
printf("<TD><INPUT TYPE="text" NAME="inputTitle" SIZE="35" VALUE="oggetto..." id="oggetto"></TD></TR>n");
printf("<TR><TD><LABEL FOR="poster"><B>Poster</B></LABEL></TD>");
printf("<TD><INPUT TYPE="text" NAME="inputPoster" SIZE="35" VALUE="poster..." id="poster"></TD></TR>n");
printf("<TR><TD><LABEL FOR="messaggio"><b>Messaggio</b></LABEL></td>");
printf("<td><TEXTAREA NAME="inputBody" COLS="45" ROWS="5" id="messaggio">Messaggio...</TEXTAREA></TD></TR>n");
printf("<TR><TD COLSPAN="2"><CENTER><INPUT TYPE="submit" VALUE="Invia"></CENTER></TD></TR>n");
printf("</TABLE>n");
printf("</FORM>n");
}


Proviamo a validare la pagina, otteniamo il seguente risultato:

Bobby WorldWide Approved AAA

Visualizza l’esempio online dopo la quarta trasformazione.

Tutti i problemi sono stati risolti 🙂

Testando col validatore del W3C (usa il link presente nella pagina di esempio), si rilevano però alcuni problemi nel codice HTML 🙁

  • Line 19, column 4: end tag for “UL” which is not finished.
    </UL>
    ^
  • Line 29, column 3: end tag for element “P” which is not open.
    </p>
    ^

Il secondo problema si risolve facilmente, togliendo la chiusura di <p> dopo la fine dello script.
Per la linea 19 si deve intervenire nella funzione “showMessages($parentID)”, nella parte iniziale e alla fine. Puoi confrontare il codice originario ed il codice corretto.

Puoi verificare l’output corretto nella pagina caricata su Server.


La trasformazione non è ancora completa :-I

Per mantenere la conformità anche nelle pagine dei messaggi inseriti, dovremo infatti modificare queste linee dello script originario:

printf( "<TABLE BORDER="1" CELLSPACING="0" CELLPADDING="5" WIDTH="400">n");
printf( "<TR><TD WIDTH="100"><B>Oggetto</B></TD><TD WIDTH="300">$messageTitle</TD></TR>n");
printf( "<TR><TD WIDTH="100"><B>Poster</B></TD><TD WIDTH="300">$messagePoster</TD></TR>n");
printf( "<TR><TD WIDTH="100"><B>Postato il</B></TD><TD WIDTH="300">$messageCreated</TD></TR>n");
printf( "<TR><TD COLSPAN="2" WIDTH="400">$messageBody</TD></TR>n");
printf( "</TABLE>n");

…nel modo seguente:

printf("<TABLE BORDER="1" CELLSPACING="0" CELLPADDING="5" summary="Tabella contenente i messaggi">n");
printf("<TR><TD><B>Oggetto</B></TD><TD>$messageTitle</TD></TR>n");
printf("<TR><TD><B>Poster</B></TD><TD>$messagePoster</TD></TR>n");
printf("<TR><TD><B>Postato il</B></TD><TD>$messageCreated</TD></TR>n");
printf("<TR><TD COLSPAN="2">$messageBody</TD></TR>n");
printf("</TABLE>n");

Ora il semplice forum valida Bobby AAA e HTML 4.01 in tutte le sue pagine 🙂

Puoi visualizzare il lavoro portato a termine, ed eventualmente lasciare un messaggio 😉

Potrebbero interessarti anche i seguenti articoli

  • prima trasformazioneprima trasformazione Codice di output dello script originario, come visibile nell'esempio online: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 […]
  • terza  trasformazioneterza trasformazione Codice di output dello script trasformazione 2, come visibile nell'esempio online: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 […]
  • seconda trasformazioneseconda trasformazione Codice di output dello script trasformazione 1, come visibile nell'esempio online: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 […]
  • Il codice originario del semplice forumIl codice originario del semplice forum <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"   "http://www.w3.org/TR/html4/loose.dtd"> <HTML […]
  • Il codice come risulta alla fine della trasformazioneIl codice come risulta alla fine della trasformazione <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"   "http://www.w3.org/TR/html4/loose.dtd"> <HTML […]
Condividi:

Informazioni sull'autore

Roberto Ellero
Roberto Ellero

Web consultant, Videomaker, Web Designer. Expertise in accessibility, Web standards, movies designed for the Web and accessible to deaf and blind people (captioning, interpretation in sign language, audiodescription).
Videomaker, Web Designer. Competenze specialistiche in accessibilità, Web standard, video progettati per il Web accessibili alle persone sorde e non vedenti (contenuti audiovisivi, tecnologie, sottotitolazione, interpretazione in lingua dei segni, audiodescrizione).
email: info@robertoellero.it, mobile: 3480108848, skype: rellero
Ideatore e direttore artistico di www.webmultimediale.org, il portale della Svizzera italiana per l'accessibilità dei video sul Web.
Lavora presso il Centro Regionale di Cultura della Regione del Veneto.

Commenti

Nessun commento

    Rispondi

    Link e informazioni