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 […]

Rispondi

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.