Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Prosty problem ze stroną.
adam2506
post
Post #1





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 27.12.2006

Ostrzeżenie: (0%)
-----


Witam, mam dość prosty problem. Znalazłem sobie bezpłatny serwer w internecie obsługujący php. Aby sprawdzić czy rzeczywiście php zadziała wypróbowałem na serwerze skrypt "Hello World" no i działa. Zacząłem pisać przykładową stronę od prostego szablonu, który będę edytował kiedy już będzie wszystko śmigać. Składa się ona z trzech kolumn - w lewej jest menu, w środkowej ma zmieniać się główna treść strony a w prawej kolumnie będzie drugie menu. Problem jest taki, że edytując plik index.php na swoim komputerze wszystko działa a po wrzuceniu na serwer nie zmienia mi się główna treść strony - nie wiem dlaczego.

Plik index.php :

a) odsyłacze w menu (1 kolumna) :

Kod
<div class="menu">
<a href="index.php?id=a1>Potrawy</a>
<a href="index.php?id=a2">Plyty</a>
<a href="index.php?id=a3">Programy</a>
<a href="index.php?id=a4">Kapcie</a>
</div>


cool.gif Kod php w głównej części strony (2 kolumna) :

Kod
<?php
    
    if(empty($id) or $id=="a1"){
        include("dane/nowosci.html");
    }
    
    if($id=="a2"){
        include("dane/galeria.html");
    }

    if($id=="a3"){
        include("dane/programy.html");
    }

    if($id=="a4"){
        include("dane/ksiazki.html");
    }
    
    ?>


Położenie folderów jest prawidłowe, wpisanie w odnośnikach pełnej ścieżki (razem z adresem serwera) nic nie daje i nazwy też są jednakowe.. Gdzie może być błąd?

Pozdrawiam snitch.gif
Go to the top of the page
+Quote Post
Maciekbjw
post
Post #2





Grupa: Zarejestrowani
Postów: 217
Pomógł: 23
Dołączył: 2.12.2007
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


zmienne powinieneś przesyłać metodą GET

czyli będzie
  1. <?php
  2. if(isset($_GET['nazwa'] == costam)) { include 'strona.php'; }
  3. ?>


--------------------
Masz swoje mieszkanie i chcesz je wynająć? Sprawdź ofertę Zarzadządzanie Najmem

WRONA.IT - pozycjonowanie stron
www.ecyklopedia.pl
Go to the top of the page
+Quote Post
adam2506
post
Post #3





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 27.12.2006

Ostrzeżenie: (0%)
-----


Cytat(Maciekbjw @ 25.12.2007, 01:28:36 ) *
zmienne powinieneś przesyłać metodą GET

czyli będzie
  1. <?php
  2. if(isset($_GET['nazwa'] == costam)) { include 'strona.php'; }
  3. ?>




Napisałem tak i edytor (E-Net) pokazał mi taki błąd:

Cytat
Parse error: parse error, expecting `','' or `')'' in c:\documents and settings\lol\pulpit\tymczasowy\prosta-strona-w-php\php\index.php on line 50


Napisz może dokładnie jak użyć metody GET w tym poniżej :

  1. <?php
  2. if(empty($id) or $id=="nowosci"){
  3. include("dane/nowosci.html");
  4. }
  5.  
  6. if($id=="galeria"){
  7. include("dane/galeria.html");
  8. }
  9. ?>
Go to the top of the page
+Quote Post
Maciekbjw
post
Post #4





Grupa: Zarejestrowani
Postów: 217
Pomógł: 23
Dołączył: 2.12.2007
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


więc tak:

  1. <?php
  2.  
  3. if(isset($_GET['p']=='nowosci')) 
  4. /* index.php?p=nowosci czyli jesli zmienna typu GET, o nazwie p przyjmuje wartosc 'nowosci' */
  5. {
  6. include 'newsy.html';
  7. }
  8. elseif(isset($_GET['p']=='autorzy')) //index.php?p=autorzy
  9. {
  10. include 'autorzy.html';
  11. }
  12. else { jesli nie przyjmuje zadnej wartosci, czyli bedzie to pewnie index.php
  13. include 'plik.html';
  14. }
  15. ?>

to tylko taki ogolny zarys. mozesz to rozbudować o dowolną ilość elseifów, lub zrobić na switchach. wszystko kwestia upodobania. pozdrawiam.


--------------------
Masz swoje mieszkanie i chcesz je wynająć? Sprawdź ofertę Zarzadządzanie Najmem

WRONA.IT - pozycjonowanie stron
www.ecyklopedia.pl
Go to the top of the page
+Quote Post
sniezny_wilk
post
Post #5





Grupa: Zarejestrowani
Postów: 732
Pomógł: 80
Dołączył: 25.05.2005
Skąd: Szczecin

Ostrzeżenie: (0%)
-----


Ja to bym rozwiązał jedną linijką:

  1. <?php
  2.  
  3. include(basename($_GET["page"]).".html");
  4.  
  5. ?>


Jeśli podasz www.adrestrony.pl?skrypt.php?page=strona , zaincludowana zostanie strona o nazwie strona.html, dasz page=glowna, wczytana zostanie glowna.html. Myślę, że jest to dość uniwersalne rozwiązanie. Jeśli chcesz jakąś ścieżkę podać to:

  1. <?php
  2.  
  3. include(basename("sciezka/".$_GET["page"]).".html");
  4.  
  5. ?>


basename, robi tu za zabezpieczenie. O to chodziło smile.gif ?


--------------------
Go to the top of the page
+Quote Post
Maciekbjw
post
Post #6





Grupa: Zarejestrowani
Postów: 217
Pomógł: 23
Dołączył: 2.12.2007
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Jeśli chodzi o coś uniwersalnego, to rozsądnie będzie użyć tego skryptu:

  1. <?php
  2.  
  3. $strony = array("strona1", "strona2", "strona3", "strona4"); // dozwolone strony
  4. $domyslna = "index"; // strona domyslna (gdy nie ma zdefiniowanego $_GET['go'])
  5. $strona = isset($_GET['go']) ? $_GET['go'] : $domyslna;
  6.  
  7. if(in_array($strona, $strony)) { include($strona . ".php"); }
  8. else { include ('strona5.php'); }
  9. /*jesli index.php to includujemy strona5.php; czesto to stosuje do includowania n
    ewsow w index.php */
  10.  
  11.  
  12. ?>


Linki będą wygładały w ten sposób: index.php?go=strona1 //zaincludowana zostanie strona


--------------------
Masz swoje mieszkanie i chcesz je wynająć? Sprawdź ofertę Zarzadządzanie Najmem

WRONA.IT - pozycjonowanie stron
www.ecyklopedia.pl
Go to the top of the page
+Quote Post
Cysiaczek
post
Post #7





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




Przenoszę na Przedszkole


--------------------
To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness;
chaotic, confused, vulnerability, to inform yourself.
Think for yourself. Question authority.
Go to the top of the page
+Quote Post
sniezny_wilk
post
Post #8





Grupa: Zarejestrowani
Postów: 732
Pomógł: 80
Dołączył: 25.05.2005
Skąd: Szczecin

Ostrzeżenie: (0%)
-----


Cytat(Maciekbjw @ 25.12.2007, 11:16:16 ) *
Jeśli chodzi o coś uniwersalnego, to rozsądnie będzie użyć tego skryptu:

  1. <?php
  2.  
  3. $strony = array("strona1", "strona2", "strona3", "strona4"); // dozwolone strony
  4. $domyslna = "index"; // strona domyslna (gdy nie ma zdefiniowanego $_GET['go'])
  5. $strona = isset($_GET['go']) ? $_GET['go'] : $domyslna;
  6.  
  7. if(in_array($strona, $strony)) { include($strona . ".php"); }
  8. else { include ('strona5.php'); }
  9. /*jesli index.php to includujemy strona5.php; czesto to stosuje do includowania n
    ewsow w index.php */
  10. ?>


Linki będą wygładały w ten sposób: index.php?go=strona1 //zaincludowana zostanie strona

Linijki 4 i 5 - niepotrzebne. Nigdy index.php nie zostanie zaincludowana. Wg to co napisałeś domyślną stroną w przypadku nie ustawienia zmiennej $_GET['go'], lub wprowadzenia stringu, który nie znajduje się w talicy - będzie strona5.php


--------------------
Go to the top of the page
+Quote Post
Maciekbjw
post
Post #9





Grupa: Zarejestrowani
Postów: 217
Pomógł: 23
Dołączył: 2.12.2007
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


No racja, dlatego w komentarzu napisałem, że używam tego do wyświetlania newsów na stronie głownej;) można również tam jakiś tekst echnąć smile.gif


--------------------
Masz swoje mieszkanie i chcesz je wynająć? Sprawdź ofertę Zarzadządzanie Najmem

WRONA.IT - pozycjonowanie stron
www.ecyklopedia.pl
Go to the top of the page
+Quote Post
adam2506
post
Post #10





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 27.12.2006

Ostrzeżenie: (0%)
-----


Ok, zrobiłem na switch i śmiga smile.gif dzieki za pomoc.


Kod
<?php
switch ($_GET['str'])
{
case "g0":
include ("witaj.html");
break;

default:
include ("witaj.html");
}
?>


P.S. Jeśli ktoś zna metode, dzięki której szybciej będzie śmigać to proszę przerobić powyższy kod na odpowiedni winksmiley.jpg Pozdro

Ten post edytował adam2506 26.12.2007, 01:20:25
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 06:03