Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|

15.11.2009, 14:43
|
|
Познающий
Регистрация: 25.10.2009
Сообщений: 54
Провел на форуме: 62271
Репутация:
9
|
|
Неа, к сожалению на многократное нажатие кнопки отправить выдаёт много пустых сообщений...
Как можно сделать проверку на сообщение,если оно более 1го символа тогда отправить?
|
|
|

15.11.2009, 14:47
|
|
Новичок
Регистрация: 27.09.2009
Сообщений: 8
Провел на форуме: 14605
Репутация:
-5
|
|
Сообщение от N2kroot
Неа, к сожалению на многократное нажатие кнопки отправить выдаёт много пустых сообщений...
Как можно сделать проверку на сообщение,если оно более 1го символа тогда отправить?
PHP код:
if(isset($_POST['mess'])) {
$mess = $_POST['mess'];
} else {
echo ("Переменная mess не передона");
exit();
}
if ($mess == '') {
echo ("Переменная mess пуста");
exit();
} else {
$fh = fopen("mess.txt","a");
$today = date("H:i:s");
$mess = trim($mess);
fwrite($fh,"<BR><FONT COLOR='#0000CC'>$today </FONT><FONT COLOR='#FF0000'>$ip</FONT>$m<BR>");
fclose($fh);
}
Последний раз редактировалось Gef3Dx; 15.11.2009 в 14:53..
|
|
|

15.11.2009, 15:01
|
|
Новичок
Регистрация: 27.09.2009
Сообщений: 8
Провел на форуме: 14605
Репутация:
-5
|
|
Сообщение от N2kroot
Обишка: Parse error: syntax error, unexpected '}' in Z:\home\site\www\vid.php on line 16
а конкретно сам скрипт,может в нём ошибка?
PHP код:
<html>
<form name="form1" method="post" action="vid.php">
<INPUT TYPE="text" NAME="mess"><BR>
<INPUT TYPE="submit" value="Отправить"><BR>
</form>
<?php $today = date("H:i:s"); echo ("Щас :<b> $today</b>") ?>
</html>
<?php
#вывели данные
$fh = file("mess.txt");
for ($i = count($fh); $i>0; $i--) echo ($fh[$i-1]."<br>");
#теперь запись
if(isset($_POST['mess'])) {
$mess = $_POST['mess']
} else {
echo ("Переменная mess не передона");
}
if ($mess == '') {
echo ("Переменная mess пуста");
} else {
$fh = fopen("mess.txt","a");
$today = date("H:i:s");
$mess = trim($mess);
fwrite($fh,"<BR><FONT COLOR='#0000CC'>$today </FONT><FONT COLOR='#FF0000'>$ip</FONT>$m<BR>");
fclose($fh);
}
?>
Изменил: нашёл ошибочку: #теперь запись
if(isset($_POST['mess'])) {
$mess = $_POST['mess']; - небыло ; но теперь он не выводит сообщение...
Поправил, сообщение выводит:
PHP код:
echo ("Переменная mess пуста");
} else {
$m = $_POST['mess'];
надо было просто задать переменную заного...
А как убрать появление сразу надписаей переменная пуста\незадана? Вот пример:
PHP код:
$fh = file("mess.txt");
for ($i = count($fh); $i>0; $i--) {
echo ($fh[$i-1]."<br>");
}
if(isset($_POST['mess'])) {
$mess = $_POST['mess'];
}
$fh = fopen("mess.txt","a");
$today = date("H:i:s");
$mess = trim($mess);
fwrite($fh,"<BR><FONT COLOR='#0000CC'>$today </FONT><FONT COLOR='#FF0000'>$ip</FONT>$m<BR>");
fclose($fh);
}
Последний раз редактировалось Gef3Dx; 15.11.2009 в 15:05..
|
|
|

15.11.2009, 15:03
|
|
Познающий
Регистрация: 25.10.2009
Сообщений: 54
Провел на форуме: 62271
Репутация:
9
|
|
Это вывод сообщений через массив... Сам незнаю как оно работает,надыбал с какого-то сайта, но зато выводит всё без ашибок=)
|
|
|

15.11.2009, 15:12
|
|
Постоянный
Регистрация: 05.12.2004
Сообщений: 647
Провел на форуме: 1698585
Репутация:
818
|
|
Как можно сделать проверку на сообщение,если оно более 1го символа тогда отправить?
PHP код:
$var = '';
if(!isset($var{0}))
echo 'Пустое поле';
|
|
|

15.11.2009, 15:21
|
|
Новичок
Регистрация: 27.09.2009
Сообщений: 8
Провел на форуме: 14605
Репутация:
-5
|
|
Сообщение от b3
PHP код:
$var = '';
if(!isset($var{0}))
echo 'Пустое поле';
Один символ в щёт или нет??
А так регуряркой
|
|
|

15.11.2009, 15:22
|
|
Познающий
Регистрация: 25.10.2009
Сообщений: 54
Провел на форуме: 62271
Репутация:
9
|
|
Вопрос: в этом же скрипте,как сделать функцию,что ли, чтобы после наплыва более 30 сообщений mess.txt сделало себе харакири?
И ещё: Есть файл,который инклудидтся: config.php а в нём задано:
PHP код:
<?php
$m = str_replace("[b]","<b>",$m);
$m = str_replace("[/b]","</b>",$m);
$m = str_replace("[/i]","</i>",$m);
$m = str_replace("[i]","<i>",$m);
$m = str_replace("[br]","<br>",$m);
$title = "$_GET['title']";
?>[/i]
Как избежать ситуации, если кто-то напишет просто ? или ещё что-либо?
Последний раз редактировалось N2kroot; 15.11.2009 в 15:27..
|
|
|

15.11.2009, 15:52
|
|
Постоянный
Регистрация: 21.08.2008
Сообщений: 302
Провел на форуме: 458686
Репутация:
-25
|
|
Сообщение от N2kroot
Как избежать ситуации, если кто-то напишет просто [/i] ? или ещё что-либо?
Функцией:
|
|
|

15.11.2009, 16:36
|
|
Постоянный
Регистрация: 05.12.2004
Сообщений: 647
Провел на форуме: 1698585
Репутация:
818
|
|
Сообщение от Gef3Dx
Один символ в щёт или нет??
А так регуряркой
Зачем использовать регулярные выражения там где можно обойтись елементарным isset()'om или даже empty()
|
|
|

15.11.2009, 17:01
|
|
Познающий
Регистрация: 25.10.2009
Сообщений: 54
Провел на форуме: 62271
Репутация:
9
|
|
У меня и так стоит trim(); смысла тут не вижу...Может сразу обьёдинить код в одно целое? Типа
PHP код:
$m = str_replace("[i]","<i></i>",$m);
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|