Здравейте! Ползвам 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>
";
}
?>
Искам когато аз пиша (ип адрес проверка), прозорчето, в което е коментара ми да е друг цвят.
Благодаря предварително!