Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Wczytywanie stron nie po ID tylko po TITLE
Forum PHP.pl > Forum > Przedszkole
airgucio
Witajcie koledzy

Jestem poczatkujacy więc miejcie dla mnie cierpliwośćsmile.gif Chciałbym stworzyć na swojej stronie otwieranie strony nie po ID tylko po TITLE czyli zamiast ?page=78 tylko ?page=o-nas
w tym celu w bazie SQL stworzylem wiersz SLUG w którym zapisuje tytuł strony oczywiście zamiast odstepów np o nas zapisuje w bazie to jako: o-nas.

oczywiście w pliku odpowiedzialnym za wyświetlanie stron mam
  1. $gory = mysql_query("SELECT * FROM page WHERE SLUG='".$_GET['page']."'");


I teraz mam pytanie w index.php mam takie coś

  1.  
  2. <?php
  3. if(!empty($_GET['oferta']) && is_numeric($_GET['oferta'])) { include('include/podstrona_oferta.php'); } else {
  4. if(!empty($_GET['page']) && is_numeric($_GET['page'])) { include('include/podstrona_text.php'); } else {
  5. if($_GET['page']=='KONTAKT'){include 'include/kontakt.php';} else {
  6. if($_GET['page']=='KARIERA'){include 'include/kariera.php';} else {
  7. //Strona glowna
  8. include('include/podstrona_main_new.php');
  9. }
  10. }
  11. }
  12. }
  13.  
  14. ?>


Jak w tej funkcji dodać polecenie np
  1. if($_GET['page']=='KARIERA'){include 'include/kariera.php';


żeby zamiast kariera było pobierz z SLUG w bazy SQL i wyświetlało plik kariera.php



Proszę o pomoc i bardzo dziękuję smile.gif
SwiezuPL
include 'include/'.$zmienna.'.php';

Jeśli to twój cały kod, weź pod uwagę możliwość włamania
airgucio
dziekuje za odpowiedź ale chodzi mi o to by słowo poniżej KARIERA zastąpić Wierszem z bazy danych SLUG

  1. if($_GET['page']=='KARIERA')



czyli

  1. if($_GET['page']=='$slug')


tyko nie wiem czy to poprawna forma
salfunglandyare
masz wynik z SQL, więc nie potrzebujesz ifa do sprawdzenia. Jeśli strona istnieje - jest rekord, jeśli nie - nie ma. Wtedy includujesz plik z szablonem, ew. jeśli strona kontakt ma się różnić wtedy
  1. if($wynik_z_bazy['slug'] == 'kontakt'){
  2. include 'includes/kontakt.php';
  3. }
airgucio
Poradziłem sobie w ten sposób

  1. <?php
  2. if(!empty($_GET['oferta']) && is_numeric($_GET['oferta'])) { include('include/podstrona_oferta.php'); } else {
  3. if(!empty($_GET['page']) && is_numeric($_GET['page'])) { include('include/podstrona_text.php'); } else {
  4. if($_GET['page']=='KONTAKT'){include 'include/kontakt.php';} else {
  5. if($_GET['page']=='KARIERA'){include 'include/kariera.php';} else {
  6.  
  7. $slug = $_GET['slug'];
  8. if($_GET['slug'] == $slug){if($id == $slug){include('include/podstrona_text.php');} } else {
  9.  
  10. //Strona glowna
  11. include('include/podstrona_main_new.php');
  12.  
  13. }
  14. }
  15. }
  16. }
  17. }
  18. ?>
  19.  
  20.  


tylko teraz nie pokazuje mi strony podstrona_main_new mojej głónej ,tylko podstrona_text a chciałbym aby jak nei wpisuje adresu to pokazała się strona glówna
tomek200
To dlaczego dałeś funkcje is_numeric skoro w zmennych przesyłasz nie liczby a text.

EDIT:
Sory nie doczytałem. To powinno zadziałać.
  1. if(!empty($_GET['oferta']) && is_numeric($_GET['oferta'])) {
  2. include('include/podstrona_oferta.php');
  3. } else {
  4. if(!empty($_GET['page']) && is_numeric($_GET['page'])) {
  5. include('include/podstrona_text.php');
  6. } else {
  7. if($_GET['page']=='KONTAKT'){
  8. include 'include/kontakt.php';
  9. } else {
  10. if($_GET['page']=='KARIERA'){include 'include/kariera.php';
  11. } else {
  12. $slug = $_GET['slug'];
  13. if (!empty($slug)) {
  14. if($_GET['slug'] == $slug){
  15. if($id == $slug){
  16. include('include/podstrona_text.php');
  17. }
  18. }
  19. } else {
  20. include('include/podstrona_main_new.php');
  21. }
  22. }
  23. }
  24. }
  25. }
airgucio
Witaj

Niestety ten kod nie działa , w przeglądarce gdzie wpisuje adres: link jest widoczny tak jak chce czyli np : page=o-nas, ale nie wyświetla mi podstrona_text czyli moja zawartość podstrony tylko caly czas podstrona_main czyli strona główna.Ale dziekuję za chęci 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.