[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Типа гостевая книга. Ваши комменты
Гость 777
Привет! Написал гостевую (в любом случае попытался) Вот, что из этого получилось. Чего не хватает, ваши замечания... что и где нужно поправить...


<?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) ;
$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) ;

что именно ты хотел этим сделать?

Свернутый текст
Цитата
	$name = trim ($name) ;
$msg = trim ($msg) ;
$msg = nl2br ($msg) ;
$name = htmlspecialchars ($name) ;
$msg = htmlspecialchars ($msg) ;

можно объединить, и получится так:
$name = htmlspecialchars(trim($name));
$msg = htmlspecialchars(nl2br(trim($msg)));

Свернутый текст
Цитата
if (!$name)
$error[] = "Вы не ввели имя" ;
if (!$msg)
$error[] = "Вы не ввели текст" ;


это не является ошибкой, но я бы сделал так:
if($name == '') $error[] = "Вы не ввели имя";
if($msg == '') $error[] = "Вы не ввели текст";


Свернутый текст
Цитата
//Выводим ошибки, если они есть
$a = implode ("<br />", $error) ;
echo $a ;


лучше поднят уровнем выше.... то есть так:
	if(count($error) == 0) {
// тут код, который записывает данные в txt файл
}

else {
//Выводим ошибки, если они есть
$a = implode ("<br />", $error);
echo $a;
}


вроде пока все smile.gif

Спустя 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, хотя чуточку не догоняю, что и как правильно обрабатывать)

Спустя 34 секунды (2.11.2010 - 23:21) Guest написал(а):
почему-то зачеркиваются bb-теги в моем сообщении

Спустя 12 минут, 45 секунд (2.11.2010 - 23:34) ИНСИ написал(а):
Guest ты правильно тут написал:
$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(
'',
'
',
'',
'
',
'',
'
',
'',
'
',
'[smile.gif]',
'[sad.gif]',
'[wink.gif]',
'[biggrin.gif]'
);
// Создаем массив тегов 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" />'

Спустя 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 написал(а):
я понимаю, что смайлики, но если их нет у мя на сайте, то...))) откуда им взяться?
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.