Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php/mysql]Forum Dyskusyjne własne
Forum PHP.pl > Forum > Przedszkole
zaba12
Witam mam problem index.php nie przesyła mi id do pliku viewforum.php ;( i tu jest moj problem oto te 2 pliki

index.php

  1. <?
  2. include_once ("./../config.php");
  3. function pokaz() {
  4. $q = mysql_query("SELECT * FROM forum_cat");
  5. while ($row = mysql_fetch_array($q)) {
  6. $id2 = $row['id'];
  7. $kategoria = $row['kategoria'];
  8.  
  9. echo '<table width="100%" cellpadding="3" style="border: 1px solid #8A8573" cellspacing="1"><tr>
  10. <td class="panel" style="width: 5%; text-align: center;"></td>
  11. <td class="panel" style="width: 55%; text-align: center;" colspan="2">Forum</td>
  12. <td class="panel" style="width: 10%; text-align: center;">Tematów</td>
  13. <td class="panel" style="width: 10%; text-align: center;">Postów</td>
  14. <td class="panel" style="width: 25%; text-align: center;">Ostatni post</td>
  15. </tr><tr>
  16. <td class="tbl2" align="center" cellspacing="1" colspan="6"><b>'.$kategoria.'</b></td>
  17. </tr>';
  18. }
  19. $q1 = "SELECT * FROM forum_dzialy where dzial=$id2";
  20. $r1 = mysql_query ($q1);
  21. while ($row1 = mysql_fetch_array($r1)) {
  22. $id = $row1['id'];
  23. $tytul = $row1['tytul'];
  24. $opis = $row1['opis'];
  25. $tematow = $row1['tematow'];
  26. $postow = $row1['postow'];
  27. $dzial = $row1['dzial'];
  28. echo '<tr>
  29. <td class="tbl2" style="width: 5%" align="center">'.$date1.'</td>
  30. <td class="tbl2" style="width: 55%" colspan="2"><b><a href="viewforum.php?f='.$id.'">'.$tytul.'</a></b><br />'.$opis.'</td>
  31. <td class="tbl1" style="width: 10%" align="center">'.$tematow.'</td>
  32. <td class="tbl1" style="width: 10%" align="center">'.$postow.'</td>
  33. <td class="tbl1" style="width: 20%" align="center"> '.$date.' '.$autor1.'</td>
  34. </tr>';
  35.  }
  36. echo '</table>';
  37. if ($kategoria OR $dzial) { } else {
  38. echo '<table width="100%" cellpadding="3" style="border: 1px solid #8A8573" cellspacing="1"><tr>
  39. <td class="panel" style="width: 100%" align="center">Wiadomość</td>
  40. </tr><tr><td class="tbl2" style="width: 100%" align="center">Brak Kategori lub forum jest wyłączone</td></tr></table>'; }
  41.  
  42. }
  43. include ("./../theme/$theme/forum.php");
  44. ?>


viewforum.php

  1. <?
  2. include ("./../config.php");
  3. function pokaz() {
  4. global $f,$id;
  5. $id = $_POST['id'];
  6. if ($f == $id) {
  7. echo $id;
  8. echo '<table width="100%" cellpadding="3" cellspacing="1" style="border: 1px solid #8A8573"><tr>
  9. <td class="panel" align="center"></td>
  10. <td class="panel" style="width: 50%" colspan="2" align="center">Temat</td>
  11. <td class="panel" style="width: 10%" align="center">Odp.</td>
  12. <td class="panel" style="width: 10%" align="center">Odsłon</td>
  13. <td class="panel" style="width: 10%" align="center">Autor</td>
  14. <td class="panel" style="width: 20%" align="center">Ostatni post</td>
  15. </tr>';
  16. $q1 = "SELECT * FROM forum_tematy WHERE dzial=$id ORDER BY date DESC";
  17. $r1 = mysql_query ($q1);
  18. while ($row1 = mysql_fetch_array($r1)) {
  19. echo '<tr>  <td class="tbl2">'.$date1.'</td>
  20. <td class="tbl2" style="width: 50%" colspan="2"><b><a href="forum.php?d='.$d.'&t='.$id.'">'.$tytul.'</a></b></td>
  21. <td class="tbl2" style="width: 10%" align="center">'.$odp.'</td>
  22. <td class="tbl2" style="width: 10%" align="center">'.$odslon.'</td>
  23. <td class="tbl2" style="width: 10%" align="center">'.$autor.'</td>';
  24. echo '<td class="tbl2" style="width: 20%" align="center">'.$autor1.'</td>
  25. </tr>';
  26. }
  27.  
  28. }
  29. echo 'test';
  30. }
  31. include ("./../theme/$theme/forum.php");
  32. ?>
slash12345
mysql_query jest wywoływane w funkcji, a więc nie widzi otwartego połączenia, tym samym nie wstawia $id do odnośnika bo poprostu go nie ma. Nie może wywołać zapytania. Musisz, po otwarciu połączenia z MySQL, przypisać resourca do zmiennej
  1. <?php
  2. $sorc = mysql_connect(jakies,gupoty,itd);
  3. ?>

A potem skorzystać ze zmiennej $sorc wewnątrz funkcji pokaz() jako globalnej:
  1. <?php
  2. $q = mysql_query("SELECT * FROM forum_cat",$GLOBALS["sorc"]);
  3. ?>

Możesz też przekazać zmienną jako argument funkcji:
  1. <?php
  2. function pokaz($id_polaczenia)
  3. $q = mysql_query("SELECT * FROM forum_cat",$id_polaczenia);
  4. ?>


Ta sytuacja dowodzi, jak dobrze jest pamiętać o zasięgu zmiennych.
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.