Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] otwieranie stron
Forum PHP.pl > Forum > Przedszkole
lukasz87
Mam gotowy layout. podstawą są oczywiście tabele. I chciałbym za pomocą php ładować po kliknięciu na link w menu odpowiedni tekst/zawartość na stronie... bez sensu jak po kliknięciu na link odsyłałbym pokolei do kolejnych podstron (np. 1.php 2.php 3.php) które różniły się tylko tekstem w jednej z komórek tabeli...

Wiem że takie coś można zrobić. Może ktoś mnie naprowadzić?

---
Dodaje tag, aby temat był zgodny z forum Przedszkole,
ponieważ już padły odpowiedzi. Na przyszłość proszę
pamiętać o tym, inaczej temat zostanie zamknięty.
---
~strife
wipo
Naprowadzić:
Poczytaj o .htaccess i mod_rewrite
diller24
mozna wykonać to w następujący sposób:
jesli masz dany odnośnik do strony np. kontakt podlinkuj go w sposób: <a href="index.php?go=5">Kontakt</a>


w tabeli gdzie ma być wyświetlana zawartość strony wklej kod:
<?php
// zmienna $go przekazana metoda GET
$go = $_GET['go'];

// sprawdzamy czy zmienna $go nie jest pusta
if(!empty($go)) {
// sprawdzamy czy plik o danej nazwie istnieje
if(is_file("strony/$go.php")) include "strony/$go.php";
// jezeli plik nie istnieje wyswietla się komunikat
else echo "<br />Nie ma takiej strony :-(";
}
// jezeli zmienna $go jest pusta wyswietla się strona glowna
else include "strony/glowna.php";

?>
(objasnienie: aby wszystko działało stwórz katalog strony a w nim kolejno strony z treścią (nie musisz używać juz znaczników meta ani kodu <html><body></body></html> wystarczy wpisac odpowiednio sformatowany tekst z tabelami lub fotkami)

a na koniec przed całym kodem strony zamieszczasz cos takiego:
<?php
// zmienna potrzebna do prawidlowego wczytania includowanych plikow
$add_site = true;
?>

i wszystko smiga w razie w pisz.....
lukasz87
no ok go=5 ale gdzie mam umieścić treść która będzie się ładować razem ze zmienną 5?
Outbreak
Ja bym to zrobił tak:
link z menu przenosi Cie np na: "index.php?op=news"

w pliku index.php wpisuje:

  1. <?php
  2. if($_GET['op']=="news")
  3. {
  4. echo ("Zawartość tej strony z newsami");
  5. }
  6. ?>


i koniec winksmiley.jpg
lukasz87
Cytat(Outbreak @ 4.07.2007, 14:28:16 ) *
Ja bym to zrobił tak:
link z menu przenosi Cie np na: "index.php?op=news"

w pliku index.php wpisuje:

  1. <?php
  2. if($_GET['op']=="news")
  3. {
  4. echo ("Zawartość tej strony z newsami");
  5. }
  6. ?>


i koniec winksmiley.jpg



Troche nieczytelne w takim razie będzie kod strony głównej? Bo wszystko będzie właśnie w nim zawarte...

Cytat(diller24 @ 4.07.2007, 10:07:11 ) *
<?php
// zmienna $go przekazana metoda GET
$go = $_GET['go'];

// sprawdzamy czy zmienna $go nie jest pusta
if(!empty($go)) {
// sprawdzamy czy plik o danej nazwie istnieje
if(is_file("strony/$go.php")) include "strony/$go.php";
// jezeli plik nie istnieje wyswietla się komunikat
else echo "<br />Nie ma takiej strony :-(";
}
// jezeli zmienna $go jest pusta wyswietla się strona glowna
else include "strony/glowna.php";

?>
(objasnienie: aby wszystko działało stwórz katalog strony a w nim kolejno strony z treścią (nie musisz używać juz znaczników meta ani kodu <html><body></body></html> wystarczy wpisac odpowiednio sformatowany tekst z tabelami lub fotkami)

a na koniec przed całym kodem strony zamieszczasz cos takiego:
<?php
// zmienna potrzebna do prawidlowego wczytania includowanych plikow
$add_site = true;
?>

i wszystko smiga w razie w pisz.....



No tak działa ale tylko jak wpisze w przeglądarce adres z index.php?go=1 a jeśli wpisze sam adres to strona się nie ładuje, bo pluje się że nie zdefiniowana jest zmienna go? Jak temu zapobieć, żeby na początku wyświetlała się strona główna?
ArniPL
Jaki błąd się pojawia? Jeśli ten co myślę czyli typu "notice" to na początku zamiast
  1. <?php
  2. $go = $_GET['go'];
  3. ?>

daj:
  1. <?php
  2. $go = isset($_GET['go']) ? $_GET['go'] : null;
  3. ?>
FliSs_tCv
a nie lepiej smile.gif w pliku index.php utworzyc co takiego;>

tutaj top strony
  1. <?php
  2. // kod jest trescia strony tongue.gif
  3. if($_GET[go]) {
  4. if(file_exists("podstrony/$_GET[go].php")) {
  5. include("podstrony/$_GET[go].php");
  6. }
  7. else{include("setting.php");}
  8. }
  9. else{include("setting.php");}
  10. //konczy sie
  11. ?>

jakas stopka strony

to tylko np smile.gif

Plik Setting.php

  1. <?php
  2.  $ext = array(".html", ".php");
  3. if(isset($go)){
  4. $ok = false;
  5. for($i=0; $i<count($ext); $i++) {
  6. $plik = $go.$ext[$i];
  7. if(file_exists("podstrony/$plik")){
  8. include("podstrony/$plik");
  9. $ok = true;
  10. break;
  11. }
  12. }
  13. }else{
  14. include("podstrony/strona_glowna.php");
  15. }
  16. ?>


poczym bedziemy oczywiscie dwac link do podstron z katalogu podstrony ale oczywiscie bez rozszerzenia bo mamy to juz wypisane jakie ma przyjmowac rozszerzenia smile.gif mozna bylo by dopisac jescze txt smile.gif a wiec link wyglada nastepujaco <a href="index.php?go=home">strona główna</a>
lukasz87
no ok, błąd już się nie pojawia ale za to zamiast strony widze tylko kwatraty z czescią mojej strony... jest ich pełno, więc to chyba jakiś błąd.

Mam pytanie czy jak sprawdza się czy zmienna jest nie jest pusta to nie powinno być na odwrót? tzn warunek który jest teraz po else nie powinnien być na początku a reszta za else?

edit: to była odpowiedź do posta ArniPL

FliSs_tCv a możesz wyjaśnić działanie tego kodu który napisałeś?
FliSs_tCv
ok wiec tak masz sobie skrypt tongue.gif i napotykasz na 1 warunek if ;] w nim jest $_GET[go] to "go" moze byc równiez innym tekstem najlepiej jedno literowym i nie dlugim no ale jak juz bedzie inaczej to chodzby polacz to mysnikiem czy cosik smile.gif $_GET[klan-sportowy] czyli index.php?go=klan-sportowy tongue.gif jezeli chodzi o nastepny warunek if zapraszam do file_exists smile.gif include raczej wiesz co robi ;] ?
ArniPL
@lukasz87: Nie, w tej konstrukcji ifa, po pytajniku podajemy wartość którą ma przyjąć zmienna jeśli warunek ma wartość TRUE a po dwukropku jeśli FALSE.
lukasz87
Cytat(FliSs_tCv @ 19.07.2007, 01:47:33 ) *
ok wiec tak masz sobie skrypt tongue.gif i napotykasz na 1 warunek if ;] w nim jest $_GET[go] to "go" moze byc równiez innym tekstem najlepiej jedno literowym i nie dlugim no ale jak juz bedzie inaczej to chodzby polacz to mysnikiem czy cosik smile.gif $_GET[klan-sportowy] czyli index.php?go=klan-sportowy tongue.gif jezeli chodzi o nastepny warunek if zapraszam do file_exists smile.gif include raczej wiesz co robi ;] ?



Znowu to samo... gdy wchodze na strone bez podania zmiennej to wywala mi bład:

Kod
Notice: Use of undefined constant go - assumed 'go' in /var/www/htdocs/index.php on line 96

Notice: Undefined index: go in /var/www/htdocs/index.php on line 96


Dobra to FliSs_tCv podam Ci adres strony

więc tak
http//theoutlaw.ath.cx
http://theoutlaw.ath.cx/index.php?go=1

porównaj sobie co się wyświetla

pod tymi błędami wyśtwietla się zawartość odpowiednich plików... ale chodzi o te błędy jak je wykluczyć?

Poradziłem sobie smile.gif

Do sposobu diller24 trzeba było dodać na początku jeszcze jeden warunek winksmiley.jpg

  1. <?php
  2. // zmienna $go przekazana metoda GET
  3. if(empty($_GET['go']))
  4.  include "strony/index.php";
  5. else { 
  6. $go = $_GET['go'] ;
  7.  
  8. // sprawdzamy czy zmienna $go nie jest pusta
  9. if(!empty($go)) {
  10. // sprawdzamy czy plik o danej nazwie istnieje
  11. if(is_file("strony/$go.php")) include "strony/$go.php";
  12. // jezeli plik nie istnieje wyswietla się komunikat
  13. else echo "<br />Nie ma takiej strony :-(";
  14. }
  15. // jezeli zmienna $go jest pusta wyswietla się strona glowna
  16. else include "strony/index.php";
  17. }
  18. ?>


Poradziłem sobie smile.gif

Do sposobu diller24 trzeba było dodać na początku jeszcze jeden warunek winksmiley.jpg

Kod
<?php  
// zmienna $go przekazana metoda GET
if(empty($_GET['go']))
include "strony/index.php";
else {
$go = $_GET['go'];
  
// sprawdzamy czy zmienna $go nie jest pusta
if(!empty($go)) {
// sprawdzamy czy plik o danej nazwie istnieje
if(is_file("strony/$go.php")) include "strony/$go.php";
// jezeli plik nie istnieje wyswietla się komunikat
else echo "<br />Nie ma takiej strony :-(";
}
// jezeli zmienna $go jest pusta wyswietla się strona glowna
else include "strony/index.php";
}
?>


Poradziłem sobie smile.gif

Do sposobu diller24 trzeba było dodać na początku jeszcze jeden warunek winksmiley.jpg

Kod
<?php  
// zmienna $go przekazana metoda GET
if(empty($_GET['go']))
include "strony/index.php";
else {
$go = $_GET['go'];
  
// sprawdzamy czy zmienna $go nie jest pusta
if(!empty($go)) {
// sprawdzamy czy plik o danej nazwie istnieje
if(is_file("strony/$go.php")) include "strony/$go.php";
// jezeli plik nie istnieje wyswietla się komunikat
else echo "<br />Nie ma takiej strony :-(";
}
// jezeli zmienna $go jest pusta wyswietla się strona glowna
else include "strony/index.php";
}
?>
Odeusz
Ehh ja mam też pokrewne pytanie z tym tematem

mam stronę head.php

i tu zamieściłem 3 tabele w jednej z nich są liniki i co teraz zrobić by po kliknięciu w jeden link otwierała się stroną w jednej z ty pozostałych tabel??

a dokładniej mam 2 satrony php z czystym \kod mphp i zeby on sie wyswietlał wlasnie w jednej z tych tabel
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.