Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MySQL]Problem z edycją tekstu
marcwars
post 16.01.2012, 06:53:38
Post #1





Grupa: Zarejestrowani
Postów: 70
Pomógł: 0
Dołączył: 14.02.2011
Skąd: Wawa

Ostrzeżenie: (0%)
-----


Piszę ćwiczebnie coś a'la prosty cms w OOP. Jednym ze sposób jest przerabianie formy struturalnej na obiektową, ale nie mogę uzyskać funkcji edytowania artykułów.
Generalnie na razie w tej części cmsa wszystko zachodzi między 2 plikami:
edit.php
  1. .........
  2. //włączanie opcji edycji na liście artykułów
  3. if (isset($_POST['action']) and $_POST['action'] == 'Edytuj')
  4. {
  5. $id = $_POST['id'];
  6. $id_art = $_POST['id'];
  7. include_once("../apps/db/db.php");
  8. $db = new baza ('aaa', 'aaaa', 'aaa', 'aaa');
  9. $db->sqlQuery('SELECT * FROM artykul where id="'.$id_art.'"');
  10. $result = $db->result;
  11. while($row = mysql_fetch_assoc($result))
  12. {
  13. $out[]=$row;
  14. }
  15. $articles = array();
  16. foreach ($out as $art)
  17. {
  18. $articles[$art['tytul']] = new Article ($art['id'], $art['imie'], $art['tytul'], $art['tekst']);
  19. }
  20. include '../apps/view/editform.view.php';
  21. }
  22. //edytowanie artykułu
  23. if (isset($_POST['action']) and $_POST['action'] == 'Zmien')
  24. {
  25.  
  26. $id_art = $_POST['id'];
  27. $tytul = mysql_real_escape_string($_POST['tytul']);
  28. $tekst = mysql_real_escape_string($_POST['tekst']);
  29. include_once("../apps/db/db.php");
  30. $db = new baza ('aaa', 'aaa', 'aaa', 'aaaa');
  31. $db->sqlQuery('UPDATE artykul SET
  32. tekst="'.$tekst.'",
  33. tytul="'.$tytul.'"
  34. WHERE id="'.$id_art.'"');
  35. header('Location: edit.php');
  36. exit();
  37. }
  38. else
  39. {}
  40. .........


i editform.view.php
  1. <form action="?" method="POST">
  2. <?php
  3. foreach ($articles as $tytul => $article)
  4. {
  5. echo '<div>';
  6. echo '<label for="text">Tekst artykułu:</label>';
  7. echo '<textarea id="tekst" name="tekst" rows="3" cols="40">'.$article->tekst.'</textarea></div>';
  8. echo '<div><label for="tytul">Tytuł artykułu:</label><textarea id="tytul" name="tytul" rows="3" cols="40">'.$article->tytul.'</textarea></div>';
  9. echo '<div><input type="hidden" name="id" value="'.$article->id.'"/><input type="submit" value="Zmien"/></div>';
  10. }
  11. ?>
  12. </form>


Po wybraniu opcji edytuj, wszystko chodzi dobrze- wyświetla się w osobnym formularzu tekst i tytuł artykułu do edycji.
Problem jest potem, bo po wysłaniu $_POST['action'] == 'Zmien', plik wraca do starej tabelki, ale nie nanosi zmian.
Na pewno dobre jest połączenie z bazą danych, bo w edit.php (tutaj nie pokazałem dla jasności przekazu), mam opcję kasowania i to działa prawidłowo..

Ten post edytował marcwars 16.01.2012, 08:17:41
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 03:49