Обработчик комментариев, включить BB тэги

zeromind

Новичок
Вообщем есть скрипт комментариев, переделанный под себя ссылка.
Что хочу сделать: 1) установить рекапчу, тут вроде бы всё удачно-работает, но код правильно ли я написал ? скидываю сам обработчик:
PHP:
<?php

  $file = "base.csv";
  $s_Name = trim($_POST['author']);
  $s_Text = trim($_POST['text']);
  if (strlen($s_Name)>10) $s_Name=mb_substr($s_Name,1,10)+"..."; 
  if (strlen($s_Text)>4000) $s_Text=mb_substr($s_Text,1,4000)+"..."; 
  
  require_once('recaptcha/recaptchalib.php');
$privatekey = "тут мой ключ";
$resp = recaptcha_check_answer ($privatekey,
                                $_SERVER["REMOTE_ADDR"],
                                $_POST["recaptcha_challenge_field"],
                                $_POST["recaptcha_response_field"]);

if (!$resp->is_valid) {
  $error.="Invalid captcha";
  $errors=1;
}
if($errors==1)  echo $error;
  
   elseif (($s_Name!='') && ($s_Text!='')) {
   $filetext = MD5($_POST['url']).";".urlencode(htmlspecialchars($s_Name)).";".date("d.m.Y H:i:s").";".urlencode(str_replace("\r\n","<br>",htmlspecialchars($s_Text)))."\r\n";
   $fh = fopen($file, "a");
   fwrite($fh, $filetext); // записываем файл
   fclose($fh);
   Header("Location: ".$_POST['url']);
  } else $s_restext= "Вы ввели не всю информацию, вернитесь назад и введите все поля";
?>
так теперь главный вопрос, хочу поставить редактор html вместо поля ввода комментария, например такой, вообщем получился результат - редактор встал, сообщения обрабатываються (отсылаються), но теги отключены, т.е. сообщения вместо жирного текста - просто тэгами обвернуто <b>сообщение</b>.. я так понял надо обработчик смотреть, всякие htmlspecialchars убирать? но тогда защита теряеться? вообщем подскажите пожалуйста как мне включить BB кодс)

и ещё маленькая проблемка, относящаяся суда же, вот дату вместо date("d.m.Y H:i:s") как можно сделать чтоб выводилась она сегодня, вчера, там понедельник, вторник и тд, красиво вообщем и понятно) и день как 28 месяц - русскими буквами, 28 января 2011г .. смотрел в сети примеры, но что то запихнуть в обработчик так и не получилось)
 

zeromind

Новичок
Народ, вообщем с датой и рекапчей разобрался, хотя правильный ли код ? - пофиг, главное работает!

теперь осталось чтобы через визуальный редактор проходили BB code ( тэги ) и меняли свойства тексту! скажите как лучше это реализовать) вроде тут всё просто
 

zeromind

Новичок
вообщем понял что за это отвечает htmlspecialchars, убрав её всё ок.. но я так понял без htmlspecialchars текс ареа становиться уязвимым местом для ввода левых комманд.. ? что можно сделать.. ?

и ещё у меня вывод комментариев осуществляеться через echo комманду, я хочу сделать через prinf, чтобы это всё красиво оформить в блоках div..

PHP:
<?php
 $s_PageURL = $_SERVER['REQUEST_URI'];
 $file = "base.csv";
 foreach (file($file) as $value) {
  $params = explode(';', $value);
  if (md5($s_PageURL) == $params[0]) {
 echo "<p style='padding: 4px 8px; font-size:10px; font-family:verdana; ;color:black'><b>Добавил: ".URLDecode($params[1])."</b>";
   echo "<span style='padding:0px 10px; font-size:10px; font-family:verdana; color:black'; float:right;><b>Время: ".$params[2]."</b></p></span>";
   echo "<p style='border-bottom:1px solid gray;  padding: 4px 8px; font-size:12px; font-family:Verdana;'>".URLDecode($params[3])."</p>";
  }
 }
$admpass='787878';
$loginfo=0;
if(isset($_COOKIE['auth'])) {
 if ($_COOKIE['auth']== md5($admpass)) {
  $loginfo=1;
 }
}
как будет выглядить printf ("Автор: %s, Дата: %s, Текст комментария: %s", $params[1], $params[2],$params[3]); ? пишет не верный код в таком случае..

помогите плиз
 
Сверху