Witam,
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.

  1. <?php
  2. include('db_login.php');
  3. require_once('DB.php');
  4. require_once('config.php');
  5.  
  6.  
  7. $stop = FALSE;
  8. $found_error = FALSE;
  9.  
  10.    $smarty -> assign('blog_title', $blog_title);
  11.    $smarty -> display('header.tpl');
  12.    
  13.    if (!isset($_SESSION['username'])) {
  14.        echo 'Prosze się zalogować.';
  15.        $stop = TRUE;
  16.    }
  17.    
  18.    $post_id = $_POST['id_artykulu'];
  19.    $title = $_POST['tytul'];
  20.    $body = $_POST['tresc'];
  21.    $action = $_POST['akcja'];
  22.    $category_id = $_POST['id_kategorii'];
  23.    $user_id = $_SESSION['uzytkownik_id'];
  24.    
  25.    $connection = DB::connect(&#092;"mysql://$db_username:$db_password@$db_host/$db_database\");
  26.    
  27.    if (DB::isError($connection)) {
  28.        die ('Nie mozna nawiazac polaczenia z baza danych:
  29. '. DB::errorMessage($connection));
  30.    }
  31.    if ($_GET['akcja'] == 'usuwanie' and !$stop) {
  32.        $get_post_id=$_GET['id_artykulu'];
  33.        $get_post_id=mysql_real_escape_string(get_magic_quotes_gpc() ? stripslashes ($get_post_id) : $get_post_id);
  34.        $user_id=mysql_real_escape_string(get_magic_quotes_gpc() ? stripslashes ($user_id) : $user_id);
  35.        $query=&#092;"DELETE FROM artykuly WHERE id_artykulu='\".$post_id.\"' AND uzytkownik_id='\".$user_id.\"'\";
  36.        $result = $connection->query($query);
  37.        if (DB::isError($result)) {
  38.            die ('Nie mozna wykonac zapytania do bazy danych:
  39. '. DB::errorMessage($result));
  40.        }
  41.        echo ('Pomyslnie usuniety wiersz.
  42. ');
  43.        $stop='TRUE';
  44.    }
  45.    
  46.    if ($_GET['id_artykulu'] AND !$stop) {
  47.        $get_post_id=$_GET['id_artykulu'];
  48.        $get_post_id=mysql_real_escape_string(get_magic_quotes_gpc() ? stripslashes ($get_post_id) : $get_post_id);
  49.        $query=&#092;"SELECT * FROM uzytkownicy NATURAL JOIN artykuly NATURAL JOIN kategorie WHERE id_artykulu=$get_post_id\";
  50.        $result=$connection->query($query);
  51.        if (DB::isError($result)) {
  52.            die ('Nie mozna wykonac zapytania do bazy danych:
  53. '. DB::errorMessage($result));
  54.        }
  55.        while ($result_row=$result->fetchRow(DB_FETCHMODE_ASSOC)) {
  56.            $posts[]=$result_row;
  57.        }
  58.        $smarty->assign('akcja', 'edycja');
  59.        $smarty->assign('artykuly', $posts);
  60.        
  61.        $query='SELECT id_kategorii, kategoria FROM kategorie';
  62.        $smarty->assign('kategorie', $connection->getAssoc($query));
  63.        $smarty->display('post_form.tpl');
  64.        $stop='TRUE';
  65.    }
  66. ?>


reszta kodu

  1. <?php
  2. if ($_POST['submit'] AND !$stop) {
  3.          if ($title=='') {
  4.              echo ('Tytul nie moze  byc pusty.
  5. ');
  6.              $found_error=TRUE;
  7.              $stop='TRUE';
  8.          }
  9.          if ($body=='') {
  10.              echo ('Tresc nie moze  byc pusta.
  11. ');
  12.              $found_error=TRUE;
  13.              $stop='TRUE';
  14.          }
  15.          if ($_POST['akcja']=='dodawanie' AND  !$stop) {
  16.               $category_id=mysql_real_escape_string(get_magic_quotes_gpc() ? stripslashes  ($category_id) : $category_id);
  17.               $title=mysql_real_escape_string(get_magic_quotes_gpc() ? stripslashes ($title)  : $title);
  18.               $body=mysql_real_escape_string(get_magic_quotes_gpc() ? stripslashes ($body) :  $body);
  19.               $user_id=mysql_real_escape_string(get_magic_quotes_gpc() ? stripslashes  ($user_id) : $user_id);
  20.              $query=&#092;"INSERT  INTO artykuly VALUES (NULL, \".\"'\". $category_id  .\"','\". $user_id .\"','\". $title .\"','\". $body  .\"', NULL)\";
  21.               $result=$connection->query($query);
  22.              if (DB::isError($result))  {
  23.                  die  ('Nie mozna wykonac zapytania do bazy danych:
  24. '. DB::errorMessage($result));
  25.              }
  26.              echo ('Pomyslnie  dodano artykul.
  27. ');
  28.              $stop='TRUE';
  29.              }
  30.          }
  31.          
  32.          if ($_POST['akcja']=='edycja' AND !$stop)  {
  33.               $category_id=mysql_real_escape_string(get_magic_quotes_gpc() ? stripslashes  ($category_id) : $category_id);
  34.               $title=mysql_real_escape_string(get_magic_quotes_gpc() ? stripslashes ($title)  : $title);
  35.               $body=mysql_real_escape_string(get_magic_quotes_gpc() ? stripslashes ($body) :  $body);
  36.               $user_id=mysql_real_escape_string(get_magic_quotes_gpc() ? stripslashes  ($user_id) : $user_id);
  37.               $post_id=mysql_real_escape_string(get_magic_quotes_gpc() ? stripslashes  ($post_id) : $post_id);
  38.              $query=&#092;"UPDATE  artykuly SET id_kategorii ='\". $category_id .\"', `tytul`='\".  $title .\"', `tresc`='\". $body .\"' WHERE id_artykulu='\".  $post_id .\"' AND `uzytkownik_id`='\". $user_id .\"'\";
  39.               $result=$connection->query($query);
  40.              if  (DB::isError($result)) {
  41.                  die  ('Nie mozna wykonac zapytania do bazy danych:
  42. '. DB::errorMessage($result));
  43.              }
  44.              echo ('Rekord  pomyslnie zaktualizowany.
  45. ');
  46.              $stop='TRUE';
  47.          }
  48.          
  49.          if (!$stop) {
  50.               $result_row=array('tytul'=>NULL, 'tresc'=>NULL);
  51.              $posts[]=$result_row;
  52.              $query='SELECT  id_kategorii, kategoria FROM kategorie';
  53.               $smarty->assign('kategorie', $connection->getAssoc($query));
  54.               $smarty->assign('artykuly', $posts);
  55.               $smarty->assign('akcja', 'dodawanie');
  56.               $smarty->display('post_form.tpl');
  57.          }
  58.          
  59.          if ($found_error) {
  60.               $result_row=array('tytul'=>&#092;"$title\",  'tresc'=>\"$body\", 'id_artykulu'=>\"$posts_id\");
  61.              $posts[]=$result_row;
  62.               $smarty->assign('artykuly', $posts);
  63.               $smarty->assign('artykuly', $posts);
  64.              $smarty->display('post_form.tpl');
  65.          }
  66.          
  67.          $smarty->display('footer.tpl');
  68.                  
  69.  ?>


Czekam na Wasze pomysły winksmiley.jpg