Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]$_GET zwraca NULL
Forum PHP.pl > Forum > Przedszkole
Mody23
Mam problem, mianowicie po naciśnięciu submita, adres (zmienna $_GET) jest pusta, nie potrafie temu zaradzic ;/ kod:

  1. if ( isset($_GET['read_news']) && !(isset($_POST['submit'])) )
  2. {
  3. $id_newsa = intval($_GET['read_news']);
  4. $sql = "SELECT * FROM `comments` WHERE comment_news_id = ".$id_newsa."";
  5. $result = mysql_query($sql)
  6. or die('Nie udało sie pobrac danych');
  7. $ile_wynikow = mysql_num_rows($result);
  8. if ( $ile_wynikow > 0 )
  9. {
  10. while($row = mysql_fetch_assoc($result))
  11. {
  12. $message = prep_message(htmlspecialchars($row['comment_text']));
  13. $czasik = date('d.m.Y, H:i', $row['comment_date']);
  14. $author_nick = $row['comment_from_userid'] == 0 ? '<b>' . $row['guest_nick'] . '</b>' : '<a href="loginek.php?admin=viewprofile&id=' . $row['comment_from_userid'] . '"><b>' . get_username($row['comment_from_userid']) . '</b></a>';
  15. $tabela_comments .= '<table border="1"><tr><td>Autor: ' . $author_nick . '</td></tr><tr><td>Data dodania: ' . $czasik . '</td></tr><tr><td>Tresc komenatrza:<br>' . $message . '</td></tr></table>';
  16. }
  17. }
  18. else
  19. {
  20. $tabela_comments = '<table border="1"><tr><td>BRAK KOMENTARZY</td></tr></table>';
  21. }
  22. $session_type = $_SESSION['admin'] == NULL ? '<input type="post" name="guest_nick" maxlength="25">' : '<input type="post" readonly="readonly" value="' . $userdata['nick'] . '" maxlength="25">';
  23. $tabela_add_comment = '<form action="loginek.php?read_news=' . $row['id'] . '" method="post"><table border="1"><tr><td>Autor: ' . $session_type . '</td></tr><tr><td>Komentarz:<br><textarea name="comment_message" rows="5" cols="30" tabindex="3" class="post"></textarea></td></tr><tr><td><input type="submit" name="submit" value="Wyslij"></table></form>';
  24. $newsa_id = intval($_GET['read_news']);
  25. $sql = "SELECT * FROM `news` WHERE id = ".$newsa_id."";
  26. $result = mysql_query($sql)
  27. or die('Nie udało sie pobrac danych');
  28. $ile = mysql_num_rows($result);
  29. if ( $ile > 0 )
  30. {
  31. $row = mysql_fetch_assoc($result);
  32. $tresc = prep_message($row['news_text']);
  33. $title = $row['news_subject'];
  34. $newsman_name = get_username($row['newsman_id']);
  35. $czas = date('d.m.Y, H:i', $row['news_date']);
  36. $edytowany = $row['edit_newsman_id'] > 0 && $userdata['user_newsman'] == 1 ? $edytowany = '<br><br>-------------------<br>News byl ostatnio edytowany przez <a href="loginek.php?admin=viewprofile&id=' . $row['edit_newsman_id'] . '">' . get_username($row['edit_newsman_id']) . '</a>, dnia ' . date('d.m.Y, H:i', $row['edit_time_news']) . '<br>-------------------' : $edytowany = '';
  37.  
  38. $body = '<table border="1"><tr><td>Dodane przez: ' . $newsman_name . '</td></tr><tr><td>Data dodania: ' . $czas . '</td></tr><tr><td>Tytul newsa: ' . $title . '</td></tr><tr><td>Tresc newsa:<br>' . $tresc . $edytowany . '</td></tr></table><br>' . $tabela_comments . $tabela_add_comment . '';
  39. echo $body;
  40. }
  41. else
  42. {
  43. echo "Taki news nie istnieje!";
  44. }
  45. }
  46. else if ( isset($_GET['read_news']) && isset($_POST['submit']) )
  47. {
  48. $newsik_id = intval($_GET['read_news']);
  49. echo $newsik_id;
  50. $comment_text = htmlspecialchars($_POST['comment_message']);
  51. $teraz = time();
  52. if ( $_SESSION['admin'] !== NULL )
  53. {
  54. if ( !empty($comment_text) )
  55. {
  56. $sql = "INSERT INTO `comments` (`comment_from_userid`, `comment_text`, `guest_nick`, `comment_date`, `comment_news_id`) VALUES (".$userdata['id'].", '".$comment_text."', 0, '".$teraz."', ".$newsik_id.")";
  57. $result = mysql_query($sql)
  58. or die('Nie udało sie pobrac danych');
  59. echo "Komentarz dodany!";
  60. }
  61. else
  62. {
  63. echo "Wpisz tresc komentarza!";
  64. }
  65. }
  66. else
  67. {
  68. if ( !empty($comment_text) )
  69. {
  70. $sql = "INSERT INTO `comments` (`comment_from_userid`, `comment_text`, `guest_nick`, `comment_date`, `comment_news_id`) VALUES (0, '".$comment_text."', '".htmlspecialchars($_POST['guest_nick'])."', '".$teraz."', ".$newsik_id.")";
  71. $result = mysql_query($sql)
  72. or die('Nie udało sie pobrac danych');
  73. echo "Komentarz dodany!";
  74. }
  75. else
  76. {
  77. echo "Wpisz tresc komentarza!";
  78. }
  79. }
  80. }

Co jest nie tak?
nospor
Chodzi ci o formularz ze zmiennej $tabela_add_comment? No to nic dziwnego ze read_news jest puste jak ty wypełniasz je $row['id']
?read_news=' . $row['id'] . '
Przecież $row na tym etapie ma wartość FALSE.

Wypadałoby rozumieć tę prostą linijkę kodu
while($row = mysql_fetch_assoc($result))
i wiedzieć co ma $row po zakończeniu pętli. $row ma FALSE zawsze po zakończeniu takiej pętli.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.