[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Все ли верно и почему не добавляется запись в бд
zullbatol
Редактировать статьи удается очень просто, но вот с добавлением полная трабла. Помогите чайнику решить проблему или подскажите хотя бы путь её решения.
 /**
* Вставляем текущий объект статьи в базу данных, устанавливаем его свойства.
*/

public function insert() {
// Есть у объекта статьи ID?
if (!is_null($this->id)) {
trigger_error("Article::insert(): Attempt to insert an Article object that already has its ID property set (to $this->id).", E_USER_ERROR);
}
// Вставляем статью
$conn = new PDO( DB_DSN, DB_USERNAME, DB_PASSWORD );
$sql = "INSERT INTO articles ( publicationDate, title, summary, content ) VALUES ( FROM_UNIXTIME(:publicationDate), :title, :summary, :content )";
$st = $conn->prepare ( $sql );
$st->bindValue( ":publicationDate", $this->publicationDate, PDO::PARAM_INT );
$st->bindValue( ":title", $this->title, PDO::PARAM_STR );
$st->bindValue( ":summary", $this->summary, PDO::PARAM_STR );
$st->bindValue( ":content", $this->content, PDO::PARAM_STR );
$st->bindValue( ":id", $this->id, PDO::PARAM_INT );
$this->id = $conn->lastInsertId();
$st->execute();
$conn = null;
}

Сам обработчик

<?php
session_start();
require( "config.php" );
$action = isset( $_GET['action'] ) ? $_GET['action'] : "";
$username = isset( $_SESSION['username'] ) ? $_SESSION['username'] : "";
if ( $action != "login" && $action != "logout" && !$username ) {
login();
exit;
}

switch ( $action ) {
case 'login':
login();
break;
case 'logout':
logout();
break;
case 'newArticle':
newArticle();
break;
case 'editArticle':
editArticle();
break;
case 'deleteArticle':
deleteArticle();
break;
default:
listArticles();
}
:(


function newArticle() {
$results = array();
$results['pageTitle'] = "newArticle";
$results['formAction'] = "newArticle";
if ( isset( $_POST['saveChanges'] ) ) {
header( "Location: admin.php?status=changesSaved" );
// Пользователь получает форму редактирования статьи: сохраняем новую статью
$article = new Article;
$article->storeFormValues( $_POST );
$article->insert();
} elseif ( isset( $_POST['cancel'] ) ) {
// Пользователь сбросил результаты редактирования: возвращаемся к списку статей
header( "Location: admin.php" );
} else {

// Пользователь еще не получил форму редактирования: выводим форму
$results['article'] = new Article;
require( TEMPLATE_PATH . "/admin/editArticle.php" );
}

}



Быстрый ответ:

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