Marcin Guguła 12 Maja 2020 12 Maja 2020 Witam, chce zrobic podstrony wczytywane z bazy mysql na zasadzie (index.php?img=tutaj id wpisu). Z pliku index.php tworze przekierowanie na do podstron np. (inc/obrazek.php?img=id wpisu). Problem polega na tym ze nie działa przekierowanie tworzone metoda $_GET['img'], ponizej fragment kodu: include('inc/header.php'); if (isset($_GET["img"])) { $img = $_GET["img"]; include('inc/obrazek.php?img=' . $id); } else if (isset($_GET['logout'])) { include('inc/logout.php'); } else if (isset($_GET['login'])) { include('inc/login.php'); } else if (isset($_GET['register'])) { include('inc/register.php'); } else { include('inc/home.php'); } include('inc/footer.php'); Moje główne pytanie brzmi, jak zrobić aby to przekierowanie działało dobrze. Jeśli wejde bezpośrednio w (inc/obrazek.php?img=id wpisu) to wyswietla normalnie, jesli poprzez index.php?img=id wpisu, wyswietla pusta strone w strone głównej. Bardzo prosze o pomoc. Dawno nie programowałem, co prawda wersja PHP sie zmieniła, ale aktualnie ja ustawiłem na 5.4 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
-n3veR 12 Maja 2020 12 Maja 2020 Chcesz zrobić routing, a tego się tak nie robi. Deklarujesz zmienną $img i przypisujesz do niej wartość, a nigdzie jej później nie używasz. Powinno też wyrzucić błąd odnośnie zmiennej $id, bo nigdzie wcześniej jej nie zadeklarowałeś, a ją używasz. Poza tym, żadnego przekierowania tu nie widzę. Poczytaj też o Twigu. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Marcin Guguła 12 Maja 2020 Autor 12 Maja 2020 <?php //ini_set( 'display_errors', 'On' ); //error_reporting( E_ALL ); include('class.php'); if (isset($_GET["img"])) { $img = $_GET["img"]; } else { $img = 1; }; $wyn1 = mysqli_query($con, "SELECT * FROM img WHERE id = '$img' ORDER BY id DESC"); while($row = mysqli_fetch_array($wyn1)) { /// dalsza tresc kodu } ?> To plik obrazek.php o ktorym wspomniałem wyzej Tutaj zrobiłem bład ale to literówka, wczesniej było $img i tez nie działało, przepraszam ze zle mnie zrozumiałeś: if (isset($_GET["img"])) { $img = $_GET["img"]; include('inc/obrazek.php?img=' . $img); } Miało być tak ale to nadal nie działa, czytam na temat routera PHP. Może powiem tak, potrzebuje zrobic proste przekierowanie, na ta podstrone która jest powyzej w kodzie, kod ma byc jak najprostrzy, nic szczegolnego nie bedzie wykorzystywane w tych podstronach, poprostu jak najprostrzym kodem. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
-n3veR 12 Maja 2020 12 Maja 2020 include i require 'wrzucają kod' całego pliku podanego w ścieżce. To, że dodasz tam jakieś parametry, to i tak nie zadziała. Ten twój warunek powinien wyglądać tak: <?php if (isset($_GET["img"])) { require_once 'inc/obrazek.php'; } I nic więcej. A w pliku obrazek.php sprawdź czy w ogóle masz połączenie z bazą i zapytanie 'działa' poprawnie. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Marcin Guguła 12 Maja 2020 Autor 12 Maja 2020 Super dziękuje ślicznie, no nie programowałem kilka dobrych lat, działa wszystko super. Można zamknąć temat Dziękuję! Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Kontynuuj dyskusję
Dołącz do Pecetowicza, aby kontynuować dyskusję w tym wątku.