# jaras (26.01.2014 / 14:41)ну да
Koenig, В текством файле типа gost.txt
# jaras (26.01.2014 / 14:41)ну да
Koenig, В текством файле типа gost.txt
с файлами некоторые моменты посложнее реализовать, например постраничку, но если осилить далее это пригодиться чтоб сам функционал понять
шта?
# Fenixrus (26.01.2014 / 14:52)предыдущую страницу зачитай.
шта?
Аж целых три раза скачали и ни одного комментария ![]()
reaper, не люблю фв, и код их разбирать, если бы полностью свое что нибудь, но не фв гостевая, суть задачей решить просто, понять код новичкам и сделать для себя выводы, там же надо копаться
Так это же микро-фв. В /vendor/ вообще можно даже не заглядывать.
Пожалуй соглашусь. Вот если бы я написал свой фв, сокет-сервак, фоллбэк для старых арбузеров, не поддерживающих веб-сокеты, тогда можно было бы о хоть чём-то говорить.
Вот изменил гостевую всё поместил в один файл
<?php
/**
* @Автор Jaras
* @Год 2.2.2014
* @Связь jaras.com@bk.ru
* @Цена Бесплатно
* @Специально для johncms.com
*/
?>
<head>
<meta http-equiv="content-type" content="text/html" />
<meta name="author" content="jaras" />
<title>Гостевая книга</title>
</head>
<style>
body {
background-color: #766EA8;
color: #000000;
padding: 2px;
font-family: Verdana, Arial, Helvetica, Sans-serif;
font-size: 13px;
}
.title {
background-color: #97371F;
color: #F89969;
border: 1px solid #86311C;
padding: 6px;
}
.title a {
color: #F89969;
}
.phdr {
background-color: #F89969;
padding: 4px;
border: 1px solid #B36E4C;
color: #241F46;
}
.input {
background-color: #F89969;
padding: 3px;
border: 1px solid #B36E4C;
color: #97371F;
}
.menu {
background-color: #FECC99;
padding: 4px;
color: #241F46;
border-left: 1px solid #DEB286;
border-right: 1px solid #DEB286;
border-bottom: 1px solid #DEB286;
}
p {
padding: 0px;
}
.name {
font-weight: bold;
}
</style>
<body>
<?php
//Сервер Mysql
$dblocalhost = 'localhost';
//Пользователь Mysql
$dbuser = 'root';
//Пароль Mysql
$dbpassword = '';
//БЗ Mysql
$dbname = "gost";
//Подключаемся к Базе данных
$db = mysql_connect($dblocalhost,$dbuser,$dbpassword) or die ('Нет соединение с базой данных');
//Выбираем бд
mysql_select_db($dbname,$db) or die ("Нет такой БД");
//Проверяем данные
function antihac($q){
$q=strip_tags($q);
$q=stripslashes($q);
return mysql_real_escape_string($q);
}
//Заголовки Сама форма
switch (isset($_POST['link'])){
default:
echo '<div class="title">Гостевая книга</div>
<div class="phdr">Форма для отправки сообщение</div>
<div class="menu"> <form action="" method="post">
<p>Введите ваше имя max(30)</p>
<input name="name" type="text" size="20" maxlength="30" class="input"/><br />
<p>Сообщение max(250)</p>
<textarea name="text" cols="20" rows="5" maxlength="250" class="input"></textarea><br />
<input name="link" type="hidden" />
<input type="submit" value="Отправить" />
</form></div>';
//Вывод записей последних
$sql = mysql_query("SELECT id,name,text,time FROM `guest` ORDER BY id DESC",$db);
$gost = @mysql_fetch_array($sql);
$count = mysql_num_rows($sql);
echo '<div class="title"> Последние записи всего ('.$count.') </div>';
if ($gost==""){echo"<div class='menu'>Пока нет сообщений</div>";}
else {
do {
echo "<div class='menu'>";
echo "<span class='name'>".$gost['name']."</span>\n".$gost['time']."<br />";
echo "Сообшение: ".$gost['text']."<br />";
echo "</div>";
}
while ($gost=mysql_fetch_array($sql));
}
break;
case 'link':
echo '<div class="title">Гостевая книга</div>';
if (isset($_POST['name'])) {$name=antihac(($_POST['name'])); if ($name==NULL) {unset($name); echo "<div class='menu'>Вы не ввели своё имя</div>";}}
if (isset($_POST['text'])) {$text=antihac(($_POST['text'])); if ($text==NULL) {unset($text); echo "<div class='menu'>Вы не ввели текст сообщения</div>";}}
$time = date("j.n.Y H:i:s");
if (isset($name) & isset($text) & isset($time)) {$zapros=mysql_query("INSERT INTO `guest` SET `name` = '$name',`text` = '$text',`time` = '$time'") or die ("Нет такой таблицы");
if ($zapros==true){echo '<div class="menu">Всё ОК!!!</div>';}}
echo '<div class="title"><a href="index.php">Назад</a></div>';
break;
}
echo '<div class="title">Гостевая книга v 1.1 </div>';
?>
</body>jaras, Самая главная ошибка -- это html код, работа с базой и их взаимосвязь, всё в одном месте.
Получилась этакая каша. Когда скрипт совсем не большой, то ничего страшного, но когда нужно будет написать нечто более серьёзное, то это уже будет ад.
/**
* @Автор Jaras
* @Год 2.2.2014
* @Связь jaras.com@bk.ru
* @Цена Бесплатно
* @Специально для johncms.com
*//**
* Simple Guestbook
*
* The guestbook application example.
*
* @author Jaras <jaras.com@bk.ru>
* @license The MIT License (MIT)
*///Сервер Mysql
//Пользователь Mysql
//Пароль Mysql
//БЗ Mysql
//Подключаемся к Базе данных