Yra taip.. bandau kurtis su pazystamu pagalba mokymosi tikslais MVC tipo tvs sistema. Taigi prie esmes, yra administravimo paneleje articles, categories puslapiai. Jie tures tokias funkcijas kaip koreguoti, uzhaidinti ir istrint is DB. Pastrigau tokioje vietoje kur darau koregavima t.y. paspaudus edit mygtuka ismeta admin/categories/edit.php puslapi. Taip pat yra modelis "adminPosts.php" kuriame yra uz tai atsakingos funkcijos
Stai kodas:
<?php
function getPosts() {
$return = array();
$result = mysql_query("SELECT * FROM articles ORDER BY article_id DESC") or die(mysql_error());
if (mysql_num_rows($result) > 0) {
while ($post = mysql_fetch_assoc($result)) {
$return[] = $post;
}
} else if (mysql_num_rows($result) == 0) {
echo "<h4> No posts were found !</h4>";
}
return $return;
}
function addPost() {
if (isset($_POST) && !empty($_POST)) {
$postName = trim(mysql_real_escape_string($_POST['PostName']));
$postAuth = trim(mysql_real_escape_string($_POST['PostAuth']));
$postDesc = htmlentities(trim(mysql_real_escape_string($_POST['PostDesc'])), ENT_QUOTES);
$postTags = trim(mysql_real_escape_string($_POST['PostTags']));
$postCategory = trim(mysql_real_escape_string($_POST['PostCat']));
$error = array();
if (!isset($postName) || empty($postName)) {
$error['PostName'] = "Article Name is required !";
}
if (!isset($postAuth) || empty($postAuth)) {
$error['PostAuth'] = "Article Auth is required !";
}
if (!isset($postTags) || empty($postTags)) {
$error['PostTags'] = "Article tags is required !";
}
if (!isset($postDesc) || empty($postDesc)) {
$error['PostDesc'] = "Article Desc is required !";
}
if (!isset($postCategory) || empty($postCategory)) {
$error['PostCat'] = "Article Category is required !";
}
if (empty($error)) {
$postTime = time();
mysql_query("INSERT INTO articles (article_title, article_author, article_content, article_tags, cat_id,article_timestamp) VALUES ('$postName', '$postAuth', '$postDesc','$postTags','$postCategory',$postTime)") or die(mysql_error());
return TRUE;
}
return $error;
}
return FALSE;
}
function editPost() {
if (isset($_POST) && !empty($_POST)) {
$postID = (int) $_GET['id'];
$postName = trim(mysql_real_escape_string($_POST['PostName']));
$postAuth = trim(mysql_real_escape_string($_POST['PostAuth']));
$postDesc = htmlentities(trim(mysql_real_escape_string($_POST['PostDesc'])), ENT_QUOTES);
$postCat = trim(mysql_real_escape_string($_POST['PostCat']));
$error = array();
if (empty($error)) {
$query = mysql_query("UPDATE articles SET article_title ='$postName', article_author = '$postAuth', article_content = '$postDesc', cat_id = '$postCat' WHERE article_id = . '$postID'");
mysql_query($query);
return TRUE;
}
return $error;
}
return FALSE;
}
function deletePost($id) {
$id = (int) $id;
mysql_query("DELETE FROM articles WHERE article_id = '$id'") or die(mysql_error());
}
function hidePost($id, $action = 0) {
$id = (int) $id;
$action = (int) $action;
mysql_query("UPDATE articles SET is_deleted = '$action' WHERE article_id = '$id'") or die(mysql_error());
}
toliau yra kontrolleris admin.php kuriame yra visa tai:
switch ($action) {
case 'posts' : {
$subAction = getSegments(2);
if (gettype($subAction) == 'string') {
$id = getSegments(3);
switch ($subAction) {
case 'hide' : {
hidePost($id, 1);
} break;
case 'unhide' : {
hidePost($id, 0);
} break;
case 'delete' : {
deletePost($id);
} break;
case 'edit' : {
$message = editPost();
$admin_categories = getCategories();
$admin_posts = getPosts();
if ($message === TRUE) {
redirect("admin/posts");
}
echo load_layout('admin_base', array(
'header' => load_view('admin/html/header'),
'content' => load_view('admin/posts/edit', array('message' => $message, 'admin_categories_list' => $admin_categories, 'admin_post_list' => $admin_posts)),
'footer' => load_view('admin/html/footer')
)
);
exit;
} break;
case 'new' : {
$admin_categories = getCategories();
$message = addPost();
if ($message === TRUE) {
redirect("admin/posts");
}
echo load_layout('admin_base', array(
'header' => load_view('admin/html/header'),
'content' => load_view('admin/posts/add', array('message' => $message, 'admin_categories_list' => $admin_categories)),
'footer' => load_view('admin/html/footer')
)
);
exit;
} break;
}
}
$admin_posts = getPosts();
echo load_layout('admin_base', array(
'header' => load_view('admin/html/header'),
'content' => load_view('admin/posts/list', array('list' => $admin_posts)),
'footer' => load_view('admin/html/footer')
)
);
}
break;
na ir pats edit.php failiukas
<?php
$message = (isset($params['message']) && !empty($params['message']) ? $params['message'] : NULL);
$admin_categories = (isset($params['admin_categories_list']) && !empty($params['admin_categories_list']) ? $params['admin_categories_list'] : NULL);
$admin_posts = (isset($params['admin_post_list']) && !empty($params['admin_post_list']) ? $params['admin_post_list'] : NULL);
?>
<div class="container">
<?php if (isset($message) && !empty($message)) { ?>
<p class="bg-danger">
<small style="color:#aa0000;">
<?php echo implode("<br />", $message); ?>
</small>
</p>
<div class="clearfix"></div>
<?php } ?>
<form action="admin/posts/edit/<?php echo $postID; ?>" method="post">
<h4>Edit post</h4>
<label for="PostName">Post Name:</label>
<div class="form-group <?php echo (isset($message['PostName']) ? " has-error" : " "); ?>">
<input type="text" name="PostName" class="form-control" value="<?php echo $admin_post['article_author']; ?>"><br />
</div>
<label for="PostAuth">Author Name:</label>
<div class="form-group <?php echo (isset($message['PostAuth']) ? " has-error" : " "); ?>">
<input type="text" name="PostAuth" class="form-control" value="<?php echo $admin_post['article_author']; ?>"><br />
</div>
<div class="form-group <?php echo (isset($message['PostTags']) ? " has-error" : " "); ?>">
<label for="PostTags">Post Tags:</label>
<input type="text" name="PostTags" class="form-control" placeholder="Please insert tags" value="<?php echo $admin_post['article_tags']; ?>">
</div>
<label for="PostDesc">Post description:</label>
<div class="form-group <?php echo (isset($message['PostDesc']) ? " has-error" : " "); ?>">
<textarea class="form-control" rows="6" name="PostDesc"><?php echo $admin_post['article_content']; ?></textarea>
</div>
<label for="PostName">Category:</label>
<select class="form-control" name="PostCats">
<?php if (isset($admin_categories) && !empty($admin_categories)) : ?>
<?php foreach ($admin_categories as $admin_category) : ?>
<?php // echo (( $admin_category['category_id']) ? 'selected="selected"' : ''); ?>
<option value="<?php echo $admin_category['category_id']; ?>" <?php echo (($admin_category['category_id'] == $post['cat_id']) ? 'selected="selected"' : ''); ?>>
<?php echo $admin_category['cat_title']; ?>
</option>
<?php endforeach; ?>
<?php endif; ?>
</select>
<button type="submit" name="submit" id="admin_button" class="btn btn-danger" value="1">Edit post</button>
<input type="hidden" name="id" value="<?php echo $postID; ?>" />
</form>
</div>
Prisegu kokia klaida meta