Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Problem z wczytywaniem strony startowej
Forum PHP.pl > Forum > Przedszkole
adrianozo
Witam wszystkich,
Mam pewien problem. Pisząc stronę muszę zawrzeć system podstron i napisalem sobie kod, który rozróżnia czy jest to strona dynamiczna(zapisana w bazie danych), strona statyczna(logowanie, rejestracja itp.), czy nie ma takiej strony, ale mam pewien problem. Wchodząc na stronę główną, czyli http://www.adres.pl lub http://www.adres.pl/index.php dostaje komunikat
Kod
Wystąpił błąd.
Strona nie została znaleziona.
i nie mam pojęcia dlaczego, może ktoś z Was zauważy błąd i nakieruje mnie na rozwiązanie go.
Kod odpowiadający za tą część:

  1. $content = '';
  2. $strona = zabezpiecz($_GET['strona']);
  3. $page = zabezpiecz($_GET['page']);
  4. $tytul = "SELECT * FROM `strony` WHERE `nazwa` = '".$strona."'";
  5. $idtytul = mysql_query($tytul);
  6. while($wierszyk = mysql_fetch_array($idtytul))
  7. {
  8. $title = $wierszyk['wyswietlana'];
  9. }
  10. $tytuly = array
  11. (
  12. 'home' => 'Strona Główna',
  13. 'portfolio' => 'Portfolio',
  14. 'o_mnie' => 'O mnie',
  15. 'kontakt' => 'Kontakt',
  16. 'reklamy' => 'Reklama',
  17. 'szukaj' => 'Wyszukiwarka',
  18. 'register' => 'Rejestracja',
  19. 'active' => 'Aktywacja konta',
  20. 'login' => 'Logowanie',
  21. 'logout' => 'Wylogowywanie',
  22. 'lostpassword' => 'Przypomnienie hasła',
  23. 'activepassword' => 'Aktywacja hasła',
  24. 'cpadmin' => 'Panel administratora',
  25. 'cpadmin_dodaj_admina' => 'Dodaj administratora',
  26. 'cpadmin_usun_admina' => 'Usuń administratora',
  27. 'potwierdz' => 'Potwierdź rejestracje',
  28. 'images' => 'Obrazek',
  29. 'favicon' => 'Favicon',
  30. );
  31. $dostep = "SELECT * FROM `cms_sklep_strony` WHERE `nazwa` = '".$strona."' LIMIT 1";
  32. $iddostep = mysql_query($dostep);
  33. $wierszyczek = mysql_fetch_array($iddostep);
  34. $poziom = $wierszyczek['dostep'];
  35. if($strona)
  36. {
  37. $strony = "SELECT * FROM `cms_sklep_strony` WHERE `nazwa` = '".$strona."'";
  38. $idstrony = mysql_query($strony);
  39. $istnieje = mysql_num_rows($idstrony);
  40. if($istnieje == 0)
  41. {
  42. $b404 = true;
  43. $content = 'Wystąpił błąd.<br /> Strona nie została znaleziona1.';
  44. }
  45. else
  46. {
  47. while($wiersz = mysql_fetch_array($idstrony))
  48. {
  49. $content = $wiersz['tresc'];
  50. }
  51. }
  52. }
  53. elseif($page)
  54. {
  55. if (!empty($page))
  56. {
  57. switch($page)
  58. {
  59. case 'o_mnie':
  60. $content .= inc('strona/o_mnie.php');
  61. break;
  62. case 'kontakt':
  63. $content .= inc('strona/kontakt.php');
  64. break;
  65. case 'szukaj':
  66. $content .= inc('strona/szukaj.php');
  67. break;
  68. case 'register':
  69. $content .= inc('konto/register.php');
  70. break;
  71. case 'active':
  72. $content .= inc('konto/active.php');
  73. break;
  74. case 'login':
  75. $content .= inc('konto/login.php');
  76. break;
  77. case 'logout':
  78. $content .= inc('konto/logout.php');
  79. break;
  80. case 'lostpassword':
  81. $content .= inc('konto/lostpassword.php');
  82. break;
  83. case 'activepassword':
  84. $content .= inc('konto/activepassword.php');
  85. break;
  86. case 'cpadmin':
  87. $content .= inc('panel/cpadmin.php');
  88. break;
  89. case 'home':
  90. $content .= inc('strona/home.php');
  91. break;
  92. default:
  93. {
  94. $b404 = true;
  95. $content = 'Wystąpił błąd.<br /> Strona nie została znaleziona.';
  96. }
  97. }
  98. }
  99. else
  100. {
  101. $content .= inc('strona/home.php');
  102. }
  103. }
  104. elseif($poziom == 1 && $_SESSION['access'] == 0)
  105. {
  106. $content = 'Dostęp zabroniony, brak uprawnień.';
  107. }
  108. else
  109. {
  110. $b404 = true;
  111. $content = 'Wystąpił błąd.<br /> Strona nie została znaleziona.';
  112. }
  113. ?>
IProSoft
Pierwsze co widzę to:

  1. $strona = zabezpiecz($_GET['strona']);
  2. $page = zabezpiecz($_GET['page']);

Wchodząc na stronę główną oba parametry są puste więc raczej powinno być:
  1. $strona = (isset($_GET['strona']) ? zabezpiecz($_GET['strona']) : 'home');
  2. $page = (isset($_GET['page']) ? zabezpiecz($_GET['page']) : 'home');
adrianozo
Po zmianie na twój sposób teraz dostaje nowy komunikat:

Kod
Wystąpił błąd.
Strona nie została znaleziona1.
IProSoft
Zamień
  1. $strona = (isset($_GET['strona']) ? zabezpiecz($_GET['strona']) : 'home');

na
  1. $strona = (isset($_GET['strona']) ? zabezpiecz($_GET['strona']) : false);
adrianozo
Dzięki za pomoc.
Zastanawia mnie tylko jedno. Dlaczego na jednej stronie, którą kiedyś tam pisałem działał ten pierwszy skrypt co wrzuciłem w pierwszym poście, a teraz nie
IProSoft
Możliwe, że w .htacces ustawiona była odpowiednia reguła, która automatycznie ustawiała $_GET['strona'] na home.

Pozdrawiam
adrianozo
A masz racje.... możliwe bo teraz jeszcze nie mam pliku .htaccess a na tamtej stronie jest. Jeszcze raz wielkie dzięki za pomoc smile.gif
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.