[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Проблема при добавлении данных в БД
agressorya
При добавлении данных в бд происходит копирование данных и добавляется две идентичные записи. Код на ООП может я что то не так делаю первый раз пишу на ООП))):
Вот код класса:

<?php

class
Form{

function form () {

$db = new mysqli('localhost','level','','fan');

if (isset($_POST['submit'])) {

try {
if (is_uploaded_file($_FILES['uploadfiles']['tmp_name'])) {

$file = substr($_FILES['uploadfiles']['name'] , -3);

if (!$file == "jpg" || $file == "gif" || $file == "jpeg" || $file == "bmp" || $file == "png" ||
$file == "zip" || $file == "rar" || $file == "mp3" || $file == "mp4" || $file == "avi" || $file == "3gp")
throw new Exception ("Файл с таким росшерениям запрещено загружать на етот сервер");

if ($_FILES['uploadfiles']['size'] == 0)
throw new Exception ("Вес файла не должен быть <b>0 байт</b>");


$path = "C:\\\\apache\\\\fenomen\\\\www\\\\files\\\\";
$filePath = $path.basename($_FILES['uploadfiles']['name']);
if (!copy($_FILES['uploadfiles']['tmp_name'] , $filePath) )
throw new Exception ("Ошибка при загрузки файла");

}


}
catch (Exception $e) {
echo $e->getMessage();
}

try {

if (strlen($_POST['title']) == 0)
throw new Exception ("Заголовок не должен быть пустым");

$title = trim(htmlspecialchars($_POST['title']));

if (strlen($_POST['authorMessage']) == 0) {

$authorMessage = "Аноним";
} else {
$authorMessage = trim(htmlspecialchars($_POST['authorMessage']));
}

if (strlen($_POST['message']) == 0)
throw new Exception ("Сообщение не должно быть пустым");

$message = trim(htmlspecialchars($_POST['message']));
$time = time();
$id = preg_replace("/[^0-9]/","",$_GET['id']);
if (!$db->query("INSERT INTO `articles` SET `nameAuthor` = '".$db->real_escape_string($authorMessage)."',
`title` = '"
.$db->real_escape_string($title)."',
`text` = '"
.$db->real_escape_string($message)."',
`urlImage` = '"
.$filePath."',
`dateArticles` = '"
.$time."',
`idKat` = '"
.$db->real_escape_string($id)."'"))
throw new Exception ("Произошла ощибка при добавлении в БД".$db->error);
}catch (Exception $e) {
return $e->getMessage();
}
echo "Сообщение добавлено!";
}

}

}

?>

Вот так я добавляю его на страницу:

<?php

include_once 'config.php';

$title = 'Главная';

$templater = new templater();
$form = new Form();

echo $templater->tpl($title , 'body.tpl');

echo $templater->tpl($title , 'form.tpl');

echo $form->form();

echo $templater->tpl($title , 'end.tpl');

?>


Вот сама форма может здесь что то не так

<form id="forms" method="POST" enctype="multipart/form-data">
<input
type="file" name="uploadfiles" /><br />
Ваше имя:<br />
<input
type="text" name="authorMessage" value="Аноним"/><br />
Заголовок поста:<br />
<input
type="text" name="title" /><br />
Сообщение:<br />
<textarea
id="text" rows="10" cols="50" name="message">
</textarea><br />
<input
type="submit" name="submit" value="Отправить" />
</form><br />
Быстрый ответ:

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