PHP форма за коментари

Vladkata

Registered
Здравейте! Ползвам php форма за коментари. Работи перфектно единственото нещо, което е, че когато админа пише - т.е. аз, пиша еднакво като другите, а искам да се откроявам.

Ето кода:
PHP:
<?php
//Please set the following variables for your MySQL database:
//Please set the following variables for your MySQL database:
//it is highly recommended that you restrict access for the user for security reasons
//it only needs "INSERT" privileges

$db_hostname = "localhost";  //usually "localhost be default"
$db_username = "user";  //your user name
$db_pass = "pass";  //the password for your user
$db_name = "db";  //the name of the database


/*MYSQL DATABASE CONNECTION/ TRACKING FUNCTIONS
--------------------------------------*/
// connect to database
$dbh = mysql_connect ($db_hostname, $db_username, $db_pass) or die ('Няма връзка с базата данни: ' . mysql_error());
mysql_select_db ($db_name);



//for security, html is not allowed, so bbcode is used for formatting

//START 3rd PARTY CODE:  I did not write this
/************************************************/
/*              BBCode v1.0a                    */
/*              Date: 03/2003                   */
/*                                              */
/*      A simple and effective script that      */
/*      allows you to implement bbcode type     */
/*      behaviour on your php website.          */
/*                                              */
/*      Contact: bbcode@netgem.freeserve.co.uk  */
/*                                              */
/*      Usage:                                  */
/*                                              */
/*      Put the following line at the top of    */
/*      the page you want to have the bbocde    */
/*      in...(assumes both pages are in the     */
/*      folder                                  */
/*                                              */
/*      include("bbCode.php");                  */
/*                                              */
/*      Pass the text to the function:          */
/*                                              */
/*      $mytext = BBCode("This is my BBCODE");  */
/*      or                                      */
/*      $mytext = "This is my text";            */
/*      $mytext = BBCode($mytext);              */
/*                                              */
/*      echo $mytext;                           */
/*                                              */
/************************************************/
?>
<style type="text/css">

</style>

<?php
        //Local copy

        function BBCode($Text)
            {
                // Replace any html brackets with HTML Entities to prevent executing HTML or script
            // Don't use strip_tags here because it breaks [url] search by replacing & with amp
            $Text = str_replace("<", "<", $Text);
            $Text = str_replace(">", ">", $Text);



            // Set up the parameters for a URL search string
            $URLSearchString = " a-zA-Z0-9\:\/\-\?\&\.\=\_\~\#\'";
            // Set up the parameters for a MAIL search string
            $MAILSearchString = $URLSearchString . " a-zA-Z0-9\.@";

                        //Non BB URL Search
                        //$Text = eregi_replace("([[:alnum:]]+)://([^[:space:]]*)([[:alnum:]#?/&=])", "<a href=\"\\1://\\2\\3\" target=\"_blank\" target=\"_new\">\\1://\\2\\3</a>", $Text);
                //$Text = eregi_replace("(([a-z0-9_]|\\-|\\.)+@([^[:space:]]*)([[:alnum:]-]))", "<a href=\"mailto:\\1\" target=\"_new\">\\1</a>", $Text);
                if (substr($Text,0, 7) == "http://"){
            $Text = eregi_replace("([[:alnum:]]+)://([^[:space:]]*)([[:alnum:]#?/&=])", "<a href=\"\\1://\\2\\3\">\\1://\\2\\3</a>", $Text);
                 // Convert new line chars to html <br /> tags
            $Text = nl2br($Text);
                        } else {
            // Perform URL Search
            $Text = preg_replace("/\[url\]([$URLSearchString]*)\[\/url\]/", '<a href="javascript:go(\'$1\',\'new\')">$1</a>', $Text);
            $Text = preg_replace("(\[url\=([$URLSearchString]*)\](.+?)\[/url\])", '<a href="javascript:go(\'$1\',\'new\')">$2</a>', $Text);
                        //$Text = preg_replace("(\[url\=([$URLSearchString]*)\]([$URLSearchString]*)\[/url\])", '<a href="$1" target="_blank">$2</a>', $Text);
                         // Convert new line chars to html <br /> tags
            $Text = nl2br($Text);
                        }
            // Perform MAIL Search
            $Text = preg_replace("(\[mail\]([$MAILSearchString]*)\[/mail\])", '<a href="mailto:$1">$1</a>', $Text);
            $Text = preg_replace("/\[mail\=([$MAILSearchString]*)\](.+?)\[\/mail\]/", '<a href="mailto:$1">$2</a>', $Text);

            // Check for bold text
            $Text = preg_replace("(\[b\](.+?)\[\/b])is",'<span class="bold">$1</span>',$Text);

            // Check for Italics text
            $Text = preg_replace("(\[i\](.+?)\[\/i\])is",'<span class="italics">$1</span>',$Text);

            // Check for Underline text
            $Text = preg_replace("(\[u\](.+?)\[\/u\])is",'<span class="underline">$1</span>',$Text);

            // Check for strike-through text
            $Text = preg_replace("(\[s\](.+?)\[\/s\])is",'<span class="strikethrough">$1</span>',$Text);

            // Check for over-line text
            $Text = preg_replace("(\[o\](.+?)\[\/o\])is",'<span class="overline">$1</span>',$Text);

            // Check for colored text
            $Text = preg_replace("(\[color=(.+?)\](.+?)\[\/color\])is","<span style=\"color: $1\">$2</span>",$Text);

            // Check for sized text
            $Text = preg_replace("(\[size=(.+?)\](.+?)\[\/size\])is","<span style=\"font-size: $1px\">$2</span>",$Text);

            // Check for list text
            $Text = preg_replace("/\[list\](.+?)\[\/list\]/is", '<ul class="listbullet">$1</ul>' ,$Text);
            $Text = preg_replace("/\[list=1\](.+?)\[\/list\]/is", '<ul class="listdecimal">$1</ul>' ,$Text);
            $Text = preg_replace("/\[list=i\](.+?)\[\/list\]/s", '<ul class="listlowerroman">$1</ul>' ,$Text);
            $Text = preg_replace("/\[list=I\](.+?)\[\/list\]/s", '<ul class="listupperroman">$1</ul>' ,$Text);
            $Text = preg_replace("/\[list=a\](.+?)\[\/list\]/s", '<ul class="listloweralpha">$1</ul>' ,$Text);
            $Text = preg_replace("/\[list=A\](.+?)\[\/list\]/s", '<ul class="listupperalpha">$1</ul>' ,$Text);
            $Text = str_replace("[*]", "<li>", $Text);

            // Check for font change text
            $Text = preg_replace("(\[font=(.+?)\](.+?)\[\/font\])","<span style=\"font-family: $1;\">$2</span>",$Text);

            // Declare the format for [code] layout
            $CodeLayout = '<table width="90%" border="0" align="center" cellpadding="0" cellspacing="0">
                                <tr>
                                    <td class="quotecodeheader"> Code:</td>
                                </tr>
                                <tr>
                                    <td class="codebody">$1</td>
                                </tr>
                           </table>';
            // Check for [code] text
            $Text = preg_replace("/\[code\](.+?)\[\/code\]/is","$CodeLayout", $Text);

            // Declare the format for [quote] layout
            $QuoteLayout = '<table width="90%" border="0" align="center" cellpadding="0" cellspacing="0">
                                <tr>
                                    <td class="quotecodeheader"> Quote:</td>
                                </tr>
                                <tr>
                                    <td class="quotebody">$1</td>
                                </tr>
                           </table>';

            // Check for [code] text
            $Text = preg_replace("/\[quote\](.+?)\[\/quote\]/is","$QuoteLayout", $Text);

            // Images
            // [img]pathtoimage[/img]
            $Text = preg_replace("/\[img\](.+?)\[\/img\]/", '<img src="$1">', $Text);

            // [img=widthxheight]image source[/img]
            $Text = preg_replace("/\[img\=([0-9]*)x([0-9]*)\](.+?)\[\/img\]/", '<img src="$3" height="$2" width="$1">', $Text);

                return $Text;
                }


//END 3rd PARTY CODE

//quick script to make the data look nice
function formatDate($val)
  {
      list($date, $time) = explode(" ", $val);
      list($year, $month, $day) = explode("-", $date);
      list($hour, $minute, $second) = explode (":", $time);
      return date("l, m.j.y @ H:ia", mktime($hour, $minute, $second, $month, $day, $year));
  }



function getComments($tutid){
//creates a function that can easily be called from any page

//create the css code to make the form look good.  You can edit this to change colors, etc:
echo "
<style>
/*COMMENTS
*------------------------------------*/

.postedby {
        padding: 0 0 0 18px;
        background: url(images/abullet.gif) no-repeat 0 4px;
        }
        
h3.formtitle {
        margin : 0px 0px 0px 0px;
        border-bottom: 1px solid #a1c0d3;
        padding-bottom: 8px;
        }

.commentbody {
        border-top: 1px solid #a1c0d3;
        }
        
/*gray box*/
.submitcomment, #submitcomment, #currentcomments, #rating, .textad {
        background-color: #c7dbe8;
        border: 1px solid #a1c0d3;
        padding: 5px;
        padding: 5px;
        margin: 20px 0px 0px 0px;
        }

/*FORMS
*------------------------------------*/

.form {
        background-color: #FAFAFA;
        border: solid 1px #a1c0d3;
        padding: 2px;
        }

.formtext {
        background-color: #FAFAFA;
        border: solid 1px #a1c0d3;
        padding: 2px;
        border-bottom: 1px solid #a1c0d3;
        }

.form:hover, .formtext:hover {
        background: white;
        }
        
.form:focus, .formtext:focus {
        background: white;
        border: solid 1px #000000;
        }
        
.submit {
        background-color: #D3D3D3;
        border: solid 1px #C6C6C6;
        border-right:  solid 1px #9A9A9A;
        border-bottom:  solid 1px #9A9A9A;
        }
        
.submit:hover, .submit:focus {
        background: #EDEDED;
        }
        </style>

        
        ";
//fetch all comments from database where the tutorial number is the one you are asking for
        $commentquery = mysql_query("SELECT * FROM comments WHERE tutorialid='$tutid' ORDER BY date") or die(mysql_error());
//find the number of comments
        $commentNum = mysql_num_rows($commentquery);
//create a headline
        echo "<div id=\"currentcomments\" class=\"submitcomment\"><h3 class=\"formtitle\">Всички коментари:</h3>\n";
        echo $commentNum . " коментара до сега (<a href=\"#post\">публикувай</a>)\n";
//for each comment in the database in the right category number...
        while($commentrow = mysql_fetch_row($commentquery)){
//for security, parse through the bbcode script
//the number corresponds to the column (the message is always stored in column 4
//COUTING STARTS at 0!!!
        $commentbb = BBCode($commentrow[4]);
//create the right date format
                $commentDate = formatDate($commentrow[6]);

                echo "<div class=\"commentbody\" id=\"$commentrow[0]\">\n
                <p>$commentbb</p>\n
                <p class=\"postedby\"><b>Публикувал:</b> ";
                if($commentrow[3]){
                echo "<a href=\"$commentrow[3]\">$commentrow[2]</a> ";
                } else {
                echo "$commentrow[2] ";
                }
                echo "в $commentDate | #$commentrow[0]</p>\n
                \n</div>";

        }
        echo "</div>";
}

function submitComments($tutid2,$tuturl){
//a javascript script to make sure all the required fields are filled in
?>
<script language="javascript">

function form_Validator(form)
{

  if (form.name.value == "")
  {
    alert("Моля въведете името си!");
    form.name.focus();
        return (false);
     }

  if (form.message.value == "")
  {
    alert("Моля въведете комнтара си!");
    form.message.focus();
    return (false);
  }
  
  return (true);
  }
  //-->
  </script>
<?php
//create the form to submit comments
//you can add more fields, but make sure you add them to the db table and the page, submitcomment.php
        echo "
<a name=\"post\">
<div id=\"submitcomment\" class=\"submitcomment\">
<form name=\"submitcomment\" method=\"post\" action=\"php/submitcomment.php\" onSubmit=\" return form_Validator(this)\">
<table width=\"100%\">
                <tr>
                                <th colspan=\"2\"><h3 class=\"formtitle\">Остави коментар:</h3></th>
                </tr>
                <tr>

                                <th scope=\"row\"><p class=\"req\">Име:</p></th>
                                <td><input class=\"form\" tabindex=\"1\" id=\"name\" name=\"name\" /></td>
                </tr>
                <tr>
                                <th scope=\"row\"><p class=\"opt\">Имейл:</p></th>
                                <td><input class=\"form\" tabindex=\"2\" id=\"email\" name=\"email\" /></td>
                </tr>
                <tr>

                                <th scope=\"row\"><p class=\"opt\">Уеб сайт:</p></th>
                                <td><input class=\"form\" tabindex=\"3\" id=\"url\" name=\"url\" /></td>
                </tr>
                <tr valign=\"top\">
                                <th scope=\"row\"><p class=\"req\">Коментар:</p><br /></th>
                                <td><textarea class=\"formtext\" tabindex=\"4\" id=\"message\" name=\"message\" rows=\"10\" cols=\"50\"></textarea></td>
                </tr>

                <tr>    
                                <td> </td>
                                <td><input type=\"submit\" name=\"post\" class=\"submit\" value=\"Публикувай\" /><br />
                                <br /><p><b>Забележка:</b>  <br />Въведеният имейл няма да бъде показван или използван. Моля спазвайте добрият тон в коментарите. Всички коментари, които съдържат нецензуриране изрази ще бъдат премахнати!</p>

<p>HTML/XHTML код не е позволен в коментарите. Новите редове ще бъдат правени автоматично. URL адресите ще се превръщат в линкове автоматично. За да форматирате текста си, моля използвайте BB код.</p>

</td>
                </tr>
</table>
<input type=\"hidden\" name=\"tuturl\" value=\"$tuturl\" />
<input type=\"hidden\" name=\"tutid2\" value=\"$tutid2\" />
</form>


</div>
";
}
?>

Искам когато аз пиша (ип адрес проверка), прозорчето, в което е коментара ми да е друг цвят.

Благодаря предварително!
 

Back
Горе