Il codice originario del semplice forum

<!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>
  <?
        /******************************************************
          BBS  v1.0
          Code:  PHP  3     
          Author:  Leon  Atkinson  <leon.atkinson@clearink.com>
       
          Simple  BBS  system  using  MySQL.    Make  the  following 
          table:

                CREATE  TABLE  bbsMessage
                (
                        ID  INT  NOT  NULL  AUTO_INCREMENT,
                        Title  VARCHAR(64),
                        Poster  VARCHAR(64),
                        Created  DATETIME,
                        Parent  INT,
                        Body  BLOB,
                        PRIMARY  KEY(ID)
                );
    
    attenzione! se si cambia il nome del file,
    sostituire le tre occorrenze di bbs_source.php con il nuovo nome

        *******************************************************/

        printf( "<H1>BBS</H1>n");

        /*  parametri del  database, come nome è indicato bbs  */
       mysql_connect("localhost", "user", "password");
    $Database = "nome";
 
 
 
        /****************************************************************
          funzione ricorsiva per il setting dei post
        ****************************************************************/
        function  showMessages($parentID)
        {
                global  $Database;

                $dateToUse  =  Date( "U");

                echo  "<UL>n";

                /*  show  all  the  wings  */                
                $Query  =  "SELECT  *  FROM  bbsMessage  ";
                $Query  =  $Query  .  "WHERE  Parent=$parentID  ";
                $Query  =  $Query  .  "ORDER  BY  Created  ";

                $result  =  mysql($Database,$Query);
                $numRows  =  mysql_NumRows($result);
                $RowCount  =  0;
                while($RowCount  <  $numRows)
                {
                        $messageID  =  mysql_result($result,$RowCount, "ID");
                        $messageTitle  =  mysql_result($result,$RowCount, "Title");
                        $messageCreated  =  mysql_result($result,$RowCount, "Created");
                        $messageParent  =  mysql_result($result,$RowCount, "Parent");

                        /*  put  a  line  telling  what  the  wing  is  */        
                        printf( "<LI>($messageCreated)  <A  HREF="bbs_source.php?messageID=$messageID">$messageTitle</A><BR>n");
       
                        /*  call  getWingContents  to  get  this  branch  */
                        showMessages($messageID);

                        $RowCount++;
                }

                echo  "</UL>n";
        }

        /****************************************************************
          genera una  form  per post con parent id
        ****************************************************************/
        function  postForm($parentID,  $useTitle)
        {
                printf( "<FORM  ACTION="bbs_source.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"  WIDTH="400">n");
                printf( "<TR><TD  WIDTH="100"><B>Oggetto</B></TD>");
                printf( "<TD  WIDTH="300"><INPUT  TYPE="text"  NAME="inputTitle"  SIZE="35"  MAXLENGTH"64"  VALUE="$useTitle"></TD></TR>n");
                printf( "<TR><TD  WIDTH="100"><B>Poster</B></TD>");
                printf( "<TD  WIDTH="300"><INPUT  TYPE="text"  NAME="inputPoster"  SIZE="35"  MAXLENGTH"64"></TD></TR>n");
                printf( "<TR><TD  COLSPAN="2"  WIDTH="400">");
                printf( "<TEXTAREA  NAME="inputBody"  COLS="45"  ROWS="5"></TEXTAREA></TD></TR>n");
                printf( "<TR><TD  COLSPAN="2"  WIDTH="400"><CENTER><INPUT  TYPE="submit"  VALUE="Post"></CENTER></TD></TR>n");
                printf( "</TABLE>n");
                printf( "</FORM>n");

        }

        /******************************************************
          azioni con db
        ******************************************************/
        if($ACTION  !=  "")
        {
                if($ACTION  ==  "POST")
                {
                        $inputTitle  =  ereg_replace( "'",  "''",  $inputTitle);
                        $inputBody  =  ereg_replace( "'",  "''",  $inputBody);

                        $Query  =  "INSERT  INTO  bbsMessage  ";
                        $Query  .=  "VALUES(0,  '$inputTitle',  ";
                        $Query  .=  "'$inputPoster',  ";
                        $Query  .=  "now(),  $inputParent,  ";
                        $Query  .=  "'$inputBody')";
       
                        $result  =  mysql($Database,$Query);


                }

        }


        /******************************************************
          scrittura messaggi
        ******************************************************/
        if($messageID  >  0)
        {
                $Query  =  "SELECT  *  FROM  bbsMessage  ";
                $Query  =  $Query  .  "WHERE  ID=$messageID  ";

                $result  =  mysql($Database,$Query);
                $numRows  =  mysql_NumRows($result);
                $RowCount  =  0;
                if($RowCount  <  $numRows)
                {
                        $messageID  =  mysql_result($result,$RowCount, "ID");
                        $messageTitle  =  mysql_result($result,$RowCount, "Title");
                        $messagePoster  =  mysql_result($result,$RowCount, "Poster");
                        $messageCreated  =  mysql_result($result,$RowCount, "Created");
                        $messageParent  =  mysql_result($result,$RowCount, "Parent");
                        $messageBody  =  mysql_result($result,$RowCount, "Body");

                        printf( "<TABLE  BORDER="1"  CELLSPACING="0"  CELLPADDING="5"  WIDTH="400">n");
                        printf( "<TR><TD  WIDTH="100"><B>Title</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>Posted</B></TD><TD  WIDTH="300">$messageCreated</TD></TR>n");
                        printf( "<TR><TD  COLSPAN="2"  WIDTH="400">$messageBody</TD></TR>n");
                        printf( "</TABLE>n");

                        postForm($messageID,  "RE:  $messageTitle");

                }
               

                echo  "<A  HREF="bbs_source.php">torna ai commenti</A><BR>";

        }
        else
        {
                printf( "<H2>il codice nella versione originaria</H2>n");

                /*  call  recursive  function  */
                showMessages(0);

                postForm(0,  "");

        }

?>
</p>
<p>&nbsp;</p>
<p>script di Leon Atkinson</p>
</BODY>
</HTML>

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 […]
  • quarta trasformazionequarta trasformazione Codice di output dello script trasformazione 3, 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 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