[решено] php Комментарии

Аватара пользователя
Artem-Samsung

[решено] php Комментарии

Сообщение Artem-Samsung »

Для комментариев создаю формочку и заношу с нее данные в БД.



PHP код:

Код: Выделить всё

mysql_query("INSERT INTO `".$pref."comments` (`message`, `date`, `category`, `chapter`, `member`) VALUES ('$_POST[input]', '$date', '".$_POST['keys']."', '".$_POST['values']."', '$_COOKIE[login]')"); 






Вообщем самый примитив. Начинаю только открывать для себя такой раздел и мне очень было бы полезно получить как можно больше информации в качестве советов и ссылок.



Подскажите пожалуйста на первые же возникшие вопросы:

1. Как реализовать простешние смайлики.

2. Как сделать так, что бы избежать тегов со стороны пользователя?



Да и что еще нужно знать для безопасности или функциональности.

Простейшая версия моих комментаривев к примеру здесь -
http://deykun.com/?projects=4




Спасибо
Аватара пользователя
Artem-Samsung

Re: [решено] php Комментарии

Сообщение Artem-Samsung »

Цитата Artem-Samsung:



1. Как реализовать простешние смайлики.
[решено] php Комментарии




Поиск и замена на выдаче. Либо перед внесением в БД.

Первый вариант лучше тем, то смайлики могут переехать в другую папку - не придётся лазить по БД и обновлять.

Второй лучше тем, что меньше нагрузка на процессор - один раз надо только делать замену.


Цитата Artem-Samsung:



2. Как сделать так, что бы избежать тегов со стороны пользователя?
[решено] php Комментарии




$str = strip_tags($str);
Аватара пользователя
Artem-Samsung

Re: [решено] php Комментарии

Сообщение Artem-Samsung »

Цитата Coutty:



Поиск и замена на выдаче. Либо перед внесением в БД.
[решено] php Комментарии




А как реализовать фишку, что на смайл нажимаешь, и он автоматом в формочке появляется без перезагрезки. javasrcipt?
Аватара пользователя
Coutty

Re: [решено] php Комментарии

Сообщение Coutty »

Artem-Samsung,



HTML код:

Код: Выделить всё

function pasteSmile(code){
 textarea = document.getElementById("form_textarea");
 textarea.value = textarea.value + code;
 return false;
}

...


...





PHP код:

Код: Выделить всё

str_replace(":smile1:", '', $_GET['form_textarea']);

str_replace(":smile2:", '', $_GET['form_textarea']); 



Аватара пользователя
Arrest

Re: [решено] php Комментарии

Сообщение Arrest »

Artem-Samsung,



HTML код:

Код: Выделить всё

function pasteSmile(code){
 textarea = document.getElementById("form_textarea");
 textarea.value = textarea.value + code;
 return false;
}

...


...





PHP код:

Код: Выделить всё

str_replace(":smile1:", '', $_GET['form_textarea']);

str_replace(":smile2:", '', $_GET['form_textarea']); 



Аватара пользователя
Artem-Samsung

Re: [решено] php Комментарии

Сообщение Artem-Samsung »

Ухты... Это оно, спасибо за исчерпывающий ответ

А где можно еще такие фокусы почитать? Ну как там формочку с выделением текста и подчеркивания сделать?
Аватара пользователя
Artem-Samsung

Re: [решено] php Комментарии

Сообщение Artem-Samsung »

HTML код:

Код: Выделить всё

<a href="smilies.html" onClick="window.open('smilies.html', 'smilies_window');return false;">Еще смайлики</a>



smilies.html



HTML код:

Код: Выделить всё

<script language="JavaScript">
function pasteSmile(code){
 textarea = opener.document.getElementById("form_textarea");
 textarea.value = textarea.value + code;
 return false;
}
</script>
<img src="smile1.gif" onClick="pasteSmile(':smile1:')" />
<img src="smile2.gif" onClick="pasteSmile(':smile2:')" />
Аватара пользователя
Arrest

Re: [решено] php Комментарии

Сообщение Arrest »

Извините пожалуйста, но вот в ходе возникло пару мелких вопрос. Гугл четких ответов не дает, а я знаю, что это не сложно и где то в книге встречал (только к книге доступа нету).



Вопрос1: Как сделать что бы когда переход с новой строки в формочке, то он заменялся не на проблем, а на




Вопрос2 (посерьезней): Подтверждение регистрации. Я приблизительно прикинул, как это будет выглядесь и реализироваться. На е-мейл приходит ссылка, нажав которую авторизирует, но как сделать рандомный текст? Цифры знаю, а вот буквы?
Аватара пользователя
Artem-Samsung

Re: [решено] php Комментарии

Сообщение Artem-Samsung »

Извините пожалуйста, но вот в ходе возникло пару мелких вопрос. Гугл четких ответов не дает, а я знаю, что это не сложно и где то в книге встречал (только к книге доступа нету).



Вопрос1: Как сделать что бы когда переход с новой строки в формочке, то он заменялся не на проблем, а на




Вопрос2 (посерьезней): Подтверждение регистрации. Я приблизительно прикинул, как это будет выглядесь и реализироваться. На е-мейл приходит ссылка, нажав которую авторизирует, но как сделать рандомный текст? Цифры знаю, а вот буквы?
Аватара пользователя
Artem-Samsung

Re: [решено] php Комментарии

Сообщение Artem-Samsung »

Цитата Artem-Samsung:



Вопрос1: Как сделать что бы когда переход с новой строки в формочке, то он заменялся не на проблем, а на
[решено] php Комментарии




В php функция $str = nl2br($str);


Цитата Artem-Samsung:



но как сделать рандомный текст?
[решено] php Комментарии




Разные есть способы. Например, один из простых - сначала генерируется случайное число, на основе которого md5-хэш, а после уже обрезается кусочек:

$text = substr(md5(rand()), 0, 6);



Другой способ - создаётся массив символов (/просто строка), несколько раз генерируется случайное число от 1 до 26 (для лат.алфавита) и производится выборка.

Код: Выделить всё

$alpha = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';

$captcha = "";

for ($i = 0; $i < 6; $i++)

  {

  $captcha .= substr($alpha, intval(rand(0, strlen($alpha))), 1);

  }

echo $captcha;


Уточните написание функций, но вроде бы всё так.
Ответить

Вернуться в «Вебмастеру»