Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Undefined index, Strona wyrzuca mi w/w błąd
Levy_
post
Post #1





Grupa: Zarejestrowani
Postów: 1
Pomógł: 0
Dołączył: 16.05.2010

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


Piszę blog w PHP i nie wiedząc czemu strona zaczęła mi wyrzucać błąd z niezidentyfikowanym indexem, oto on: Notice: Undefined index: id in C:\wamp\www\blog\miesiac.php on line 14. W sumie to na chwilę obecną nie wiem jak go naprawić ;/

cały kod:
  1. <?php
  2. include('gora.php');
  3.  
  4. //laczenie z bd
  5. $serwer = mysql_connect('localhost', 'root', '');
  6. if ($serwer === false) die('Blad polaczenia z baza danych: '
  7. $baza = mysql_select_db('www');
  8. if ($baza === false) die('Blad wybierania bazy danych: '
  9.  
  10.  
  11. mysql_query('SET CHARSET utf8');
  12. $wpis = (int) $_GET['id'];
  13. if ($wpis != 0) {
  14. //tekst zapytania SQL
  15. $zapytanie = 'SELECT * FROM blog WHERE id=' . $wpis . ' AND widocznosc="t" ORDER BY dodane DESC';
  16. //realizacja zapytania
  17. $rezultat = mysql_query($zapytanie);
  18. if ($rezultat === false) die('Blad realizacji zapytania: '
  19. while (($wiersz = mysql_fetch_assoc($rezultat))) {
  20. print('<h2>' . $wiersz['tytul'] . '</h2>' . "\r\n");
  21. print('<div class="dataautor">'
  22. . $wiersz['podpis'] . ', '
  23. . $wiersz['dodane'] . '</div>' . "\r\n");
  24. print('<div class="tresc">' . $wiersz['tresc']
  25. . '</div>' . "\r\n");
  26. print("<hr/>\r\n");
  27. }
  28.  
  29. //zwolnij pamiec wynikow zapytania i rozlacz sie z baza
  30. mysql_free_result($rezultat);
  31.  
  32. //wyuszenie dodania mc i roku do paska adresu
  33. if(!isset($_GET['miesiac']) && !isset($_GET['rok']))
  34. {
  35. $rok = date('Y');
  36. $miesiac = date('d');
  37. $location = "miesiac.php?rok=".$rok."&miesiac=05";
  38. header("Location: $location");
  39. }
  40.  
  41. //p.naw.
  42. function PanelNawigacyjny()
  43. {
  44. $rk = $_GET['rok'];
  45. $mc = $_GET['miesiac'];
  46. if (!isset($rk)) $rk = date('Y');
  47. if (!isset($mc)) $mc = date('m');
  48.  
  49. ?>
  50. <table>
  51. <tr>
  52. <td>
  53. <select onChange="Zmiana();" id="miesiac" name="miesiac">
  54. <option value="01">styczeń</option>
  55. <option value="02">luty</option>
  56. <option value="03">marzec</option>
  57. <option value="04">kwiecień</option>
  58. <option value="05">maj</option>
  59. <option value="06">czerwiec</option>
  60. <option value="07">lipiec</option>
  61. <option value="08">sierpień</option>
  62. <option value="09">wrzesień</option>
  63. <option value="10">październik</option>
  64. <option value="11">listopad</option>
  65. <option value="12">grudzień</option>
  66. </select>
  67. </td>
  68. <td>
  69. <select onChange="Zmiana();" id="rok" name="rok">
  70. <option value="2010">2010</option>
  71. <option value="2009">2009</option>
  72. </select>
  73. </td>
  74. </tr>
  75. </table>
  76. <script type="text/javascript"><!--
  77. var WyborMiesiaca = document.getElementById('miesiac');
  78. var WyborRoku = document.getElementById('rok');
  79. WyborMiesiaca.value = '<?php echo $mc; ?>';
  80. WyborRoku.value = '<?php echo $rk; ?>';
  81. function Zmiana()
  82. {
  83. window.location = '?miesiac=' + WyborMiesiaca.value + '&rok=' + WyborRoku.value;
  84. }
  85. //--></script>
  86. <?php
  87. $zapytanie = 'SELECT * FROM blog WHERE widocznosc="t" ' . 'AND dodane LIKE "'. $rk . '-' .$mc . '-%" ' . 'ORDER BY dodane DESC';
  88. $rezultat = mysql_query($zapytanie);
  89. if ($rezultat === false) die('Blad realizacji zapytania: '
  90. while (($wiersz = mysql_fetch_assoc($rezultat))) {
  91. print("<a href=\"?id=${wiersz['id']}&miesiac=$mc&" . "rok=$rk\" style=\"color: yellow;\">" . "${wiersz['tytul']}</a><br/>\r\n");
  92. }
  93. mysql_free_result($rezultat);
  94. }
  95. include ('dol.php');
  96. mysql_close($serwer);
  97. }
  98. ?>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
marian84
post
Post #2





Grupa: Zarejestrowani
Postów: 185
Pomógł: 10
Dołączył: 29.01.2008

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


zamien

  1. $wpis = (int) $_GET['id'];


na
  1. $wpis = (int) isset($_GET['id']);
Go to the top of the page
+Quote Post
eccocce
post
Post #3





Grupa: Zarejestrowani
Postów: 165
Pomógł: 5
Dołączył: 10.07.2008
Skąd: Wrocław

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


marian84, jesteś pewny? isset zwraca wartość typu boolean, a on chce mieć w $wpis wartość liczbową.

Ten błąd, a właściwie to ostrzeżenie, informuje, że odwołujesz się do nieistniejącego indeksu w tablicy $_GET: czyli jeśli odpalisz swój skrypt przez adres index.php?id=12, to ostrzeżenia nie zobaczysz.

Proponuję dodać coś w stylu:

  1. if(isset($_GET['id'])) $wpis=$_GET['id'];
  2. else $wpis="jakas wartosc, gdy w adresie nie ma id";


zamiast tej 14. linii.

Ten post edytował eccocce 16.05.2010, 20:44:54
Go to the top of the page
+Quote Post
marian84
post
Post #4





Grupa: Zarejestrowani
Postów: 185
Pomógł: 10
Dołączył: 29.01.2008

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


Cytat
zwraca wartość typu boolean, a on chce mieć w $wpis wartość liczbową.


racja, racja ... pospieszylem się
Go to the top of the page
+Quote Post

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 Aktualny czas: 20.08.2025 - 06:34