<?php
//Массив ошибок
$error = array () ;
//Если нажата кнопка отправить
if (isset ($_POST['ok']))
{
//Инициализируем переменные
$name = !empty ($_POST['name']) ? $_POST['name'] : NULL ;
$msg = !empty ($_POST['msg']) ? $_POST['msg'] : NULL ;
$name = trim ($name) ;
$msg = trim ($msg) ;
$msg = nl2br ($msg) ;
$name = htmlspecialchars ($name) ;
$msg = htmlspecialchars ($msg) ;
$msg = str_replace ("", "<b>", $msg) ;
$msg = str_replace ("", "</b>", $msg) ;
$msg = str_replace ("", "<u>", $msg) ;
$msg = str_replace ("", "</u>", $msg) ;
$msg = str_replace ("", "<s>", $msg) ;
$msg = str_replace ("", "</s>", $msg) ;
$msg = str_replace ("", "<i>", $msg) ;
$msg = str_replace ("", "</i>", $msg) ;
//Если поля не заполнены, выводим сообщения
if (!$name)
$error[] = "Вы не ввели имя" ;
if (!$msg)
$error[] = "Вы не ввели текст" ;
if (count ($error) == 0)
{
if ($file = fopen ("1.txt", "a"))
{
if (fwrite ($file, $name."<br />".$msg."<br /><br />"))
echo "Сообщение добавлено" ;
//fclose ($file) ;
else
echo "не удалось записать" ;
}
else
{
echo "Не удалось открыть файл" ;
}
}
}
//Выводим ошибки, если они есть
$a = implode ("<br />", $error) ;
echo $a ;
?>
<form action="" method="post">
<p><label>Введите имя</label><br />
<input type="text" name="name" value="<?php echo $name ; ?>"/>
</p>
<p><label>Введите сообщение</label><br />
<textarea cols="30" rows="10" name="msg"><?php echo $msg ; ?></textarea>
</p>
<p><input type="submit" name="ok" value="Добавить" />
</p>
</form>
<div>
<?php
//Выводим сообщения
if (file_exists ("1.txt"))
readfile ("1.txt") ;
else
echo "Файл не существует" ;
?>
</div>
Спустя 29 минут, 13 секунд (2.11.2010 - 23:14) ИНСИ написал(а):
Свернутый текст
Цитата |
$msg = str_replace ("", "<b>", $msg) ; |
что именно ты хотел этим сделать?
Свернутый текст
Цитата |
$name = trim ($name) ; |
можно объединить, и получится так:
$name = htmlspecialchars(trim($name));
$msg = htmlspecialchars(nl2br(trim($msg)));
Свернутый текст
Цитата |
if (!$name) |
это не является ошибкой, но я бы сделал так:
if($name == '') $error[] = "Вы не ввели имя";
if($msg == '') $error[] = "Вы не ввели текст";
Свернутый текст
Цитата |
//Выводим ошибки, если они есть |
лучше поднят уровнем выше.... то есть так:
if(count($error) == 0) {
// тут код, который записывает данные в txt файл
}
else {
//Выводим ошибки, если они есть
$a = implode ("<br />", $error);
echo $a;
}
вроде пока все
Спустя 6 минут, 59 секунд (2.11.2010 - 23:21) Guest написал(а):
$msg = str_replace ("[/B]", "</b>", $msg) ;
$msg = str_replace ("", "<u>", $msg) ;
$msg = str_replace ("", "</u>", $msg) ;
$msg = str_replace ("", "<s>", $msg) ;
$msg = str_replace ("", "</s>", $msg) ;
$msg = str_replace ("", "<i>", $msg) ;
$msg = str_replace ("", "</i>", $msg) ;
Здесь я пытался типа заменить bb-теги на html, хотя чуточку не догоняю, что и как правильно обрабатывать)
$msg = str_replace ("", "<u>", $msg) ;
$msg = str_replace ("", "</u>", $msg) ;
$msg = str_replace ("
$msg = str_replace ("
$msg = str_replace ("", "<i>", $msg) ;
$msg = str_replace ("", "</i>", $msg) ;
Здесь я пытался типа заменить bb-теги на html, хотя чуточку не догоняю, что и как правильно обрабатывать)
Спустя 34 секунды (2.11.2010 - 23:21) Guest написал(а):
почему-то зачеркиваются bb-теги в моем сообщении
Спустя 12 минут, 45 секунд (2.11.2010 - 23:34) ИНСИ написал(а):
Guest ты правильно тут написал:
str_replace ('что именно надо заменить', 'на что надо заменить', $msg)
$msg = str_replace ("[/B]", "</b>", $msg);
str_replace ('что именно надо заменить', 'на что надо заменить', $msg)
Спустя 2 минуты, 46 секунд (2.11.2010 - 23:37) Guest написал(а):
а какие еще bb-теги неужно заменять, чтобы обезопасить сайт можешь написать? буду очень благодарен
Спустя 14 минут, 12 секунд (2.11.2010 - 23:51) Lenarfate написал(а):
Спустя 1 минута, 46 секунд (2.11.2010 - 23:53) Guest написал(а):
Все дают именно эту ссылку. хорошо)
значит достаточно это функции? подставил эту функцию и можешь спать спокойно?
значит достаточно это функции? подставил эту функцию и можешь спать спокойно?
function createBBtags($text)
{
// Создаем массив bb-тегов
$bb = array(
'',
'',
'',
'',
'',
'',
'',
'',
'[]',
'[]',
'[]',
'[]'
);
// Создаем массив тегов HTML
$tag = array(
'<b>',
'</b>',
'<i>',
'</i>',
'<s>',
'</s>',
'<u>',
'</u>',
'<img src="smiles/1.gif" />',
'<img src="smiles/2.gif" />',
'<img src="smiles/3.gif" />',
'<img src="smiles/4.gif" />'
);
// Заменяем элемент первого на элемент второго массива соответственно
$text = str_replace("\r", "", $text);
$text = str_replace("\t", " ", $text);
$text = htmlspecialchars($text);
$text = str_ireplace($bb, $tag, $text);
$text = str_replace(' ', ' ', $text);
$text = nl2br($text);
return $text;
}
Спустя 1 минута, 44 секунды (2.11.2010 - 23:54) Lenarfate написал(а):
для гостевой, думаю, да)
Спустя 2 минуты, 29 секунд (2.11.2010 - 23:57) Guest написал(а):
а откуда взялись эти значения?
'<img src="smiles/1.gif" />',
'<img src="smiles/2.gif" />',
'<img src="smiles/3.gif" />',
'<img src="smiles/4.gif" />'
'<img src="smiles/1.gif" />',
'<img src="smiles/2.gif" />',
'<img src="smiles/3.gif" />',
'<img src="smiles/4.gif" />'
Спустя 1 минута, 21 секунда (2.11.2010 - 23:58) Guest написал(а):
на сайте irbis [img] никак не обрабатывается) он не мешает что ли?
Спустя 1 минута (2.11.2010 - 23:59) Lenarfate написал(а):
читай,смайлики
Спустя 3 минуты, 46 секунд (3.11.2010 - 00:03) Guest написал(а):
я понимаю, что смайлики, но если их нет у мя на сайте, то...))) откуда им взяться?