bibena/blog — Issue #3: index.php
Author: bibena
Created: 2011-12-19 12:52:43+00:00
State: open

2)
{
$name = mysql_escape_string(stripslashes(trim(htmlspecialchars($_POST['name'],ENT_QUOTES))));
}
else
{
$_SESSION['nameerror']=1;
}
if(preg_match('|([a-z0-9_\.\-]{1,20})@([a-z0-9\.\-]{1,20})\.([a-z]{2,4})|is', $_POST['email']))
{
$email = mysql_escape_string(stripslashes(trim(htmlspecialchars($_POST['email'],ENT_QUOTES))));
}
else
{
$_SESSION['emailerror']=1;
}
if(strlen($_POST['msg'])>0)
{
$msg = mysql_escape_string(stripslashes(trim(htmlspecialchars($_POST['msg'],ENT_QUOTES))));
}
else
{
$_SESSION['msgerror']=1;
}
if(is_uploaded_file($_FILES['userfile']['tmp_name']))
{
if($_FILES['userfile']['type']=='image/png' or $_FILES['userfile']['type']=='image/gif' or $_FILES['userfile']['type']=='image/jpeg')
{
$img=imagecreatefromstring(file_get_contents($_FILES['userfile']['tmp_name']));

/*	list($width,$height)=getimagesize($_FILES['userfile']['tmp_name']);
$widtho=$heighto=150;
$ratio=$width/$height;
if($widtho/$heighto>$ratio)
{
$widtho=$heighto*$ratio;
}
else
{
$heighto = $widtho/$ratio;
}
$imgo=imagecreate($widtho,$heighto);
imagecopyresampled($imgo,$img,0,0,0,0,$widtho,$heighto,$width,$height);
$imgo=($imgo);*/
list($width,$height)=getimagesize($_FILES['userfile']['tmp_name']);
$widtho=$heighto=150;
$ratio=$width/$height;
if($widtho/$heighto>$ratio)
{
$widtho=$heighto*$ratio;
}
else
{
$heighto = $widtho/$ratio;
}
$imgo=imagecreate($widtho,$heighto);
imagecopyresampled($imgo,$img,0,0,0,0,$widtho,$heighto,$width,$height);
imagepng($imgo,'file.png');
$imgo=mysql_escape_string(file_get_contents('file.png'));
}
else
{
$_SESSION['imgerror']=1;
}
}
if(isset($_POST['usertag']) && strlen($_POST['usertag'])>0)
{
$tag = mysql_escape_string(stripslashes(trim(htmlspecialchars($_POST['usertag'],ENT_QUOTES))));
$tags=explode(',',$tag);
}
else
{
if(isset($_POST['tag']) && strlen($_POST['tag']))
{
$tags=array($_POST['tag']=>$_POST['tag']);
}
//$_SESSION['tagerror']=1;
}
// Формируем SQL-оператор на вставку данных и выполняем его
if(!$_SESSION['nameerror'] && !$_SESSION['emailerror'] && !$_SESSION['msgerror'] && !$_SESSION['imgerror'] && !$_SESSION['tagerror'])
{
$sql = "INSERT INTO	blog (name, email, msg, img)
VALUES	('$name','$email','$msg','$imgo')";
mysql_query($sql);
$id_blog=mysql_insert_id();
if(is_array($tags))
{
foreach($tags as $tag)
{
$sql = "INSERT INTO	tags (tagname)
VALUES	('$tag')";
mysql_query($sql);
$id_tags=mysql_insert_id();
$sql = "INSERT INTO	blog_tags (id_blog, id_tags)
VALUES	('$id_blog', '$id_tags')";
mysql_query($sql);
}
}
}
//var_dump($_POST);
// Перезапрашиваем страницу, чтобы избавиться от информации, переданной через форму
header('Location: ' . $_SERVER['PHP_SELF']);
exit;
}
//Если форма совсем пустая - выводим ее снова
if($_SESSION['nameerror']===1 && $_SESSION['emailerror']===1 && $_SESSION['msgerror']===1)
{
$_SESSION['nameerror']=$_SESSION['emailerror']=$_SESSION['msgerror']=$_SESSION['imgerror']=$_SESSION['tagerror']='';
}
// Проверяем, был ли запрос на удаление записи
if(isset($_GET['del']) && is_numeric($_GET['del']))
{
// Фильтруем полученные данные
$del = $_GET['del'] * 1;

// Формируем SQL-оператор на удаление данных и выполняем его
$sql = "DELETE FROM blog WHERE id=$del";
mysql_query($sql);

// Перезапрашиваем страницу, чтобы избавиться от информации, переданной методом GET
header('Location: ' . $_SERVER['PHP_SELF']);
exit;
}
?>

Гостевая книга

Бложек

Ваше имя:

Имя не может быть короче 3 букв';?>

Ваш E-mail:

Вы ввели некорректный email';?>

Добавить фото:

Загруженный файл не является изображением';?>

Сообщение:

Ну почему же Вы ничего не пишете?';?>

Вы можете добавить одну из меток к своему сообщению:

'.$row['tagname'].'
';
}
?>

Или ввести свои метки через запятую: Вы не умеете ставить метки';?>

0)
{
// Получаем количество рядов результата выборки и выводим его
$rowst = mysql_num_rows($rest);
print "

В гостевой книге $rowst записей с меткой '{$gettag}' Вернуться на главную

";
// В цикле выводим все сообщения
while($rowt=mysql_fetch_assoc($rest))
{
$sql = "SELECT id,name,email,msg FROM blog WHERE id = {$rowt['id_blog']} ORDER BY id DESC";
$res = mysql_query($sql);
while($row=mysql_fetch_assoc($res))
{
$id = $row['id'];
$name = $row['name'];
$email = $row['email'];
$msg = nl2br($row['msg']);
$sqltag="SELECT tags.tagname FROM tags INNER JOIN blog_tags ON(tags.id=blog_tags.id_tags) WHERE blog_tags.id_blog={$id}";
$restag=mysql_query($sqltag);
$printtag='';
$i=0;
while($rowtag=mysql_fetch_assoc($restag))
{
$i++;
$printtag.=("".$rowtag['tagname']."");
if($i

$name
$msg
Метки этого сообщения: $printtag

Удалить сообщение

HTML;
}
}
}
else
{
// Получаем количество рядов результата выборки и выводим его
$rows = mysql_num_rows($res);
print "

Записей в гостевой книге: $rows

";
// В цикле выводим все сообщения
while($row=mysql_fetch_assoc($res))
{
$id = $row['id'];
$name = $row['name'];
$email = $row['email'];
$msg = nl2br($row['msg']);
$sqlt="SELECT tags.tagname FROM tags INNER JOIN blog_tags ON(tags.id=blog_tags.id_tags) WHERE blog_tags.id_blog={$id}";
$rest=mysql_query($sqlt);
$printtag='';
$i=0;
if(mysql_num_rows($rest)>0)
{
$msgtags='Метки этого сообщения: ';
}
elseif(mysql_num_rows($rest)==0)
{
$msgtags='У этого сообщения нет меток';
}
while($rowt=mysql_fetch_assoc($rest))
{
$i++;
$printtag.=("".$rowt['tagname']."");
if($i

$name
$msg
$msgtags $printtag

Удалить сообщение

HTML;
}
}
print"

";
// Закрываем соединение с БД
mysql_close();
?>