według mojej oceny problem polega na tym, że do zmiennej $user_id nie jest przenoszony id użytkownika, czego skutkiem jest błędne wyswietlanie strony oraz złe umieszczanie danych w db.
<?php include('db_login.php'); require_once('DB.php'); require_once('config.php'); $stop = FALSE; $found_error = FALSE; $smarty -> assign('blog_title', $blog_title); $smarty -> display('header.tpl'); $stop = TRUE; } $post_id = $_POST['id_artykulu']; $title = $_POST['tytul']; $body = $_POST['tresc']; $action = $_POST['akcja']; $category_id = $_POST['id_kategorii']; $user_id = $_SESSION['uzytkownik_id']; $connection = DB::connect(\"mysql://$db_username:$db_password@$db_host/$db_database\"); if (DB::isError($connection)) { '. DB::errorMessage($connection)); } if ($_GET['akcja'] == 'usuwanie' and !$stop) { $get_post_id=$_GET['id_artykulu']; $get_post_id=mysql_real_escape_string(get_magic_quotes_gpc() ? stripslashes ($get_post_id) : $get_post_id); $query=\"DELETE FROM artykuly WHERE id_artykulu='\".$post_id.\"' AND uzytkownik_id='\".$user_id.\"'\"; $result = $connection->query($query); if (DB::isError($result)) { '. DB::errorMessage($result)); } '); $stop='TRUE'; } if ($_GET['id_artykulu'] AND !$stop) { $get_post_id=$_GET['id_artykulu']; $get_post_id=mysql_real_escape_string(get_magic_quotes_gpc() ? stripslashes ($get_post_id) : $get_post_id); $query=\"SELECT * FROM uzytkownicy NATURAL JOIN artykuly NATURAL JOIN kategorie WHERE id_artykulu=$get_post_id\"; $result=$connection->query($query); if (DB::isError($result)) { '. DB::errorMessage($result)); } while ($result_row=$result->fetchRow(DB_FETCHMODE_ASSOC)) { $posts[]=$result_row; } $smarty->assign('akcja', 'edycja'); $smarty->assign('artykuly', $posts); $query='SELECT id_kategorii, kategoria FROM kategorie'; $smarty->assign('kategorie', $connection->getAssoc($query)); $smarty->display('post_form.tpl'); $stop='TRUE'; } ?>
reszta kodu
<?php if ($_POST['submit'] AND !$stop) { if ($title=='') { '); $found_error=TRUE; $stop='TRUE'; } if ($body=='') { '); $found_error=TRUE; $stop='TRUE'; } if ($_POST['akcja']=='dodawanie' AND !$stop) { $category_id=mysql_real_escape_string(get_magic_quotes_gpc() ? stripslashes ($category_id) : $category_id); $query=\"INSERT INTO artykuly VALUES (NULL, \".\"'\". $category_id .\"','\". $user_id .\"','\". $title .\"','\". $body .\"', NULL)\"; $result=$connection->query($query); if (DB::isError($result)) { '. DB::errorMessage($result)); } '); $stop='TRUE'; } } if ($_POST['akcja']=='edycja' AND !$stop) { $category_id=mysql_real_escape_string(get_magic_quotes_gpc() ? stripslashes ($category_id) : $category_id); $query=\"UPDATE artykuly SET id_kategorii ='\". $category_id .\"', `tytul`='\". $title .\"', `tresc`='\". $body .\"' WHERE id_artykulu='\". $post_id .\"' AND `uzytkownik_id`='\". $user_id .\"'\"; $result=$connection->query($query); if (DB::isError($result)) { '. DB::errorMessage($result)); } '); $stop='TRUE'; } if (!$stop) { $posts[]=$result_row; $query='SELECT id_kategorii, kategoria FROM kategorie'; $smarty->assign('kategorie', $connection->getAssoc($query)); $smarty->assign('artykuly', $posts); $smarty->assign('akcja', 'dodawanie'); $smarty->display('post_form.tpl'); } if ($found_error) { $posts[]=$result_row; $smarty->assign('artykuly', $posts); $smarty->assign('artykuly', $posts); $smarty->display('post_form.tpl'); } $smarty->display('footer.tpl'); ?>
Czekam na Wasze pomysły
