Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]$_GET, $_POST cos mi tu nie gra
achill
post 22.09.2009, 07:42:31
Post #1





Grupa: Zarejestrowani
Postów: 29
Pomógł: 0
Dołączył: 28.08.2009
Skąd: wertykalne przez większość dnia

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


witam
mam taki problem

mam baze danych z ktorej wyciagam tekst- jako szary uzytkownik moge sobie go przeczytac jako administrator moge go edytowac ( i tu cos nie gra) bo powinno przeniesc mnie na druga strone gdzie moge go edytowac i zapisac zmiany - na strone przenosi ale zapisu nie moge zrobic. czy ktos moze mi pomoc rozwiklac te zagadke - bo mecze ten kod od jakis 3 godzin
index.php

  1. <?php session_start(); ?>
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <?php
  5. require_once 'header.php';
  6. require_once 'conn.php';
  7. ?>
  8. <div id="text">
  9. <div id="text1">
  10. <h1 class="h1text">
  11. <?php
  12. echo ' Witam na mojej stronie ';
  13. if (isset($_SESSION['user']))
  14. {
  15. echo $_SESSION['user'] ;
  16. }
  17. echo '!'
  18. ?>
  19. </h1>
  20. <?php
  21. $sql = mysql_query("SELECT text FROM teksty WHERE text_id='1' ");
  22. $row = mysql_fetch_array($sql);
  23. echo $row['text'];
  24. ?>
  25. <br>
  26. <?php
  27. if (isset($_SESSION['access_lvl'])
  28. and $_SESSION['access_lvl'] == 2)
  29. {
  30. ?>
  31. <form method="post" action="transact-articles.php">
  32. <input type= "submit" class= "submit" name="action" value="Edytuj"/>
  33. <input type="hidden" name="text_id" value="<?php echo $_GET['text_id']; ?> ">
  34. </form>
  35. <?php
  36. }
  37. ?>
  38. </p>
  39. </div>
  40. <div id="line1">
  41. </div>
  42. <div id="line2">
  43. </div>
  44. </div>
  45. <?php
  46. require_once 'footer.php';
  47. ?>


a teraz
edit.php


  1. <?php session_start(); ?>
  2. <?php
  3. require_once 'conn.php';
  4.  
  5. $text = '';
  6. $text_id = '';
  7.  
  8. if (isset($_GET['a'])
  9. and $_GET['a'] == 'Edytuj'
  10. and isset($_GET['text_id'])
  11. and $_GET['text_id'])
  12. {
  13. $sql = "SELECT text FROM teksty " .
  14. "WHERE text_id=" . $_GET['text_id'];
  15. $result = mysql_query($sql) or die(mysql_error());
  16. $row = mysql_fetch_array($result);
  17. $text = $row['text'];
  18. $text_id = $_GET['text_id'];
  19. }
  20. require_once 'header.php';
  21. ?>
  22. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  23. <html xmlns="http://www.w3.org/1999/xhtml">
  24.  
  25.  
  26. <div id="text">
  27. <div id="text1"><h1 class="h1text">
  28. <?php
  29. echo ' Edycja tekstu ';
  30. ?>
  31. </h1>
  32. <img src="linehorizontal.png" class="linia">
  33.  
  34. <form method="post" action="transact-articles.php">
  35. <p>
  36. <textarea class="text" name="text" rows="30" cols="40">
  37. <?php
  38. </textarea>
  39. <?php
  40. echo '<input type="hidden" name="text_id" value="' . $text_id . "\">\n";
  41.  
  42. if ($text_id) {
  43. echo '<input type="submit" class="submit" name="action" ' .
  44. "value=\"Zapisz\">\n";
  45. }
  46. ?>
  47. </p>
  48. </form>
  49.  
  50. </div>
  51. <div id="line1">
  52. </div>
  53. <div id="line2">
  54. </div>
  55. </div>
  56. <?php
  57. require_once 'footer.php';
  58. ?>

no i jeszcze pliczek od transakcji
  1. <?php
  2. require_once 'conn.php';
  3. require_once 'http.php';
  4.  
  5.  
  6. if (isset($_REQUEST['action']))
  7. {
  8. switch($_REQUEST['action'])
  9. {
  10. case 'Edytuj';
  11. redirect('edit.php?a=edit&text_id=' . $_POST['text_id']);
  12. break;
  13.  
  14. case 'Zapisz';
  15. if (isset($_POST['text'])
  16. and isset($_POST['text_id']))
  17. {
  18. $sql = "UPDATE teksty " .
  19. "SET text='" . $_POST['text'] . "' " .
  20. "WHERE text_id=" . $_POST['text_id'];
  21.  
  22. mysql_query($sql) or die('i cant save changes ' . mysql_error());
  23. }
  24. redirect('index.php');
  25. break;
  26. }
  27. }
  28. ?>


podsumowujac:
1-laduje text z bazy
2- gdy jestem zalogowany jako admin moge go edytowac (submit edit przenosi mnie na edit.php) jesli nie to tylko przeczytac.
3 - powinno umozliwic mi edycje ale niestety nie mam mozliwosci zapisu a na dodatek wyglada to tak jakby nie zaladowal wskazanej komorki

ps.

moim zdaniem to albo cos zle przesylam wartosc text_id z index.php albo zle ją pobieram do edit.php. (bo nie dosc ze nie za bardzo jest co zmieniac to na dodatek przycisk zapisz jest uwarunkowany od tego czy jest pobrana wartosc text_id a przycisku nie ma - blagam niech mi ktos wskaze gdzie jest błąd i na czym on polega)

PS. Nie chce gotowcow.




dokonałem malej modyfikacji w edit.php

<?php
echo htmlspecialchars($text);
echo $row['text'];
?>

no i wniosek jest jeden mam racje: nie wysyla tych danych/lub ich nie pobiera - bo nic sie nie wyswietla.

teraz pytanie co tu jest grane? nie moze pobrac tych danych - tak sie zastanawialem bo to chyba tak jak w temacie $_POST i $_GET nie przesyla text_id z index.php.

ps. hmmm a może powinienem okreslic zmienne w edit.php:
$text= '';
$text_id= '';


ale to chyba i tak nic nie da bo nie przesyla do tej strony wartosci text_id

no właśnie -mam pewien pomysł...
zaraz wracam


no niestety: myslałem, że może jak wpiszę wartości do wyslania w transact... w case "Edytuj" jako session_start() to pojdzie ale to nie byl najlepszy pomysl

Ten post edytował achill 22.09.2009, 08:37:48
Powód edycji: [Ociu]: proprawiłem bbCode


--------------------
"pomógł" daje nie dlatego, że ktoś mi pomógł
ale dlatego, że się czegoś mogłem nauczyć.
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: 25.07.2025 - 10:41