Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][HTML] Problem z Include, $_GET
miku
post
Post #1





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 2.03.2012

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


Witam wstawilem sobie ten kod php w znaczniki tresci "content" bo tu to chyba powinno byc co nie;p? I cos mi to nie dziala bo zamiast wstawiac tylko tresc danej podstrony wczytuje mi wszystkie w tym wypadku 2 bo narazie tyle dodalem jedna po 2.

Kod PHP w tresci:

  1.  
  2. <div id="content">
  3.  
  4. <?php
  5.  
  6. if (empty($_GET['page']))
  7. {
  8. $sPage = 'index.php';
  9. }
  10. else
  11. {
  12. $sPage = basename($_GET['page']);
  13. }
  14. $sFileName = './id/' . $sPage . '.php';
  15. if (!file_exists($sFileName))
  16. {
  17. $sFileName = './id/info.php';
  18. }
  19. include ($sFileName);
  20. {
  21. $sFileName = './id/oferta.php';
  22. }
  23. include ($sFileName);
  24.  
  25. ?>
  26.  
  27. </div>


A tu menu

  1. <a href="index.php?id=home">Home</a>
  2. <a href="index.php?id=info">Informacje</a>
  3. <a href="index.php?id=oferta">Oferta</a>


mam folder "id" i tam plik info.php i oferta.php . I jak pod home podlaczyc index php zeby to bylo dobrze?

Odswiezam. Nikt nie zna rozwiazania :/??

Ten post edytował miku 3.03.2012, 14:48:40
Go to the top of the page
+Quote Post
2 Stron V   1 2 >  
Start new topic
Odpowiedzi (1 - 19)
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




include ($sFileName);
{
$sFileName = './id/oferta.php';
}
include ($sFileName);
Dwa razy robisz include, przy czym przed drugim razem zmieniasz nazwe pliku to logiczne, że ci dwa razy include wykona.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
miku
post
Post #3





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 2.03.2012

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


Czyli jak ten kod ma poprawnie wgladac?

Jak zrobie tak:

  1. <div id="content">
  2.  
  3. <?php
  4.  
  5. if (empty($_GET['page']))
  6. {
  7. $sPage = 'index.php';
  8. }
  9. else
  10. {
  11. $sPage = basename($_GET['page']);
  12. }
  13. $sFileName = './id/' . $sPage . '.php';
  14. if (!file_exists($sFileName))
  15. {
  16. $sFileName = './id/info.php';
  17. }
  18. {
  19. $sFileName = './id/oferta.php';
  20. }
  21. include ($sFileName);
  22.  
  23. ?>
  24.  
  25. </div>


to mi wczytuje na "Oferta" tylko oferte ale jak dam na informacje to mi tez wczytuje oferte

Odswiezam

Ten post edytował miku 3.03.2012, 21:18:19
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




O to: $sFileName = './id/oferta.php';
tworzysz bezwarunkowo. Zawsze. Skoro wiec tworzysz to zawsze, to zawsze będziesz wczytywał ten plik.... no pomyśl chwilkę.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
miku
post
Post #5





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 2.03.2012

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


Sry ale dlatego pisze tu bo jestem poczatkujacy jesli chodzi o php;) I chodzi mi o to zeby ktos poprostu podal jak to ma wygladac poprawnie bo nie wiem nadal :/

Ten post edytował miku 6.03.2012, 00:07:07
Go to the top of the page
+Quote Post
CuteOne
post
Post #6





Grupa: Zarejestrowani
Postów: 2 958
Pomógł: 574
Dołączył: 23.09.2008
Skąd: wiesz, że tu jestem?

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


google -> php warunek if else
Go to the top of the page
+Quote Post
kadlub
post
Post #7





Grupa: Zarejestrowani
Postów: 548
Pomógł: 105
Dołączył: 4.06.2010

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


include powinno zawierać się między klamerkami warunku czyli jak warunek jest spełniony to inkludujesz to jak nie to inkludujesz tamto
Go to the top of the page
+Quote Post
miku
post
Post #8





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 2.03.2012

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


Ech ok thx za pomoc ale sry ze to powiem, jest to dzial "przedszkole" dla osob ktore zaczynaja z php a wy mowicie do mnie jezykiem ktorego naprawde nie rozumiem smile.gif Mozliwe ze prosciej sie nie da. Ale ja prosilem o wklejenie poprawnego kodu smile.gif
Go to the top of the page
+Quote Post
strife
post
Post #9





Grupa: Przyjaciele php.pl
Postów: 2 605
Pomógł: 96
Dołączył: 22.10.2004
Skąd: UK

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


Cytat(miku @ 6.03.2012, 10:37:18 ) *
Ech ok thx za pomoc ale sry ze to powiem, jest to dzial "przedszkole" dla osob ktore zaczynaja z php a wy mowicie do mnie jezykiem ktorego naprawde nie rozumiem smile.gif Mozliwe ze prosciej sie nie da. Ale ja prosilem o wklejenie poprawnego kodu smile.gif

Czego dokładnie nie rozumiesz? Napisz czego nie rozumiesz w wypowiedzi ludzi, którzy chcą Ci pomóc wtedy jest szansa abyś otrzymał jeszcze bardziej szczegółowy opis. Nikt Ci tutaj nie da gotowca. Owszem jest to Przedszkole, dlatego ludzie pomagają Ci zacząć przygodę z językiem PHP. Ale żaden nauczyciel nigdy nie będzie Ci dawał gotowców bo się nigdy nic byś nie nauczył.

Więc jeszcze raz, z czym dokładnie masz problem?

Hint: http://php.net/manual/en/control-structures.if.php


--------------------
Go to the top of the page
+Quote Post
miku
post
Post #10





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 2.03.2012

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


Koledzy wyzej mowili ze tworze bezwarunkowo nie bardzo wiem o co chodzi, 2 kolega podal mi "if else" probowlaem pododawac "if" i miedzy znacznikami "else" ale to nic nie daje, zawarlem tez include miedzy klamerki tak jak kazal 3 kolega i dalej mam to samo ze includuje mi oba pliki zamiast 1 na 1 podstronie 2 na 2:/

.
Go to the top of the page
+Quote Post
CuteOne
post
Post #11





Grupa: Zarejestrowani
Postów: 2 958
Pomógł: 574
Dołączył: 23.09.2008
Skąd: wiesz, że tu jestem?

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


  1. if (!file_exists($sFileName))
  2. {
  3. $sFileName = './id/info.php';
  4. }
  5. {
  6. $sFileName = './id/oferta.php';
  7. }

widzisz klamerki bez warunku... a powinien być else {}
Go to the top of the page
+Quote Post
miku
post
Post #12





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 2.03.2012

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


  1. <div id="content">
  2.  
  3. <?php
  4.  
  5. if (empty($_GET['page']))
  6. {
  7. $sPage = 'index.php';
  8. }
  9. else
  10. {
  11. $sPage = basename($_GET['page']);
  12. }
  13. $sFileName = './id/' . $sPage . '.php';
  14. if (!file_exists($sFileName))
  15. {
  16. $sFileName = './id/info.php';
  17. }
  18. else {
  19. $sFileName = './id/oferta.php';
  20. }
  21. include ($sFileName);
  22.  
  23. ?>
  24.  
  25. </div>


No dodalem else przy tym 2 bo przy tym 1 nie moge bo blad wywala ale mam tylko przy tym 2 to juz mi nie wyswietla obu, ale jest inny problem bo wyswietla mi dzial "info" na obu podstronach oferty tak jak by nie bylo:/
Go to the top of the page
+Quote Post
peter13135
post
Post #13





Grupa: Zarejestrowani
Postów: 1 447
Pomógł: 191
Dołączył: 26.03.2008

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


Nie chce być złośliwy, ale może zanim będziesz uczył się PHP, poznasz trochę język polski, albo interpunkcje chociaż ? Bo trudno zrozumieć o co Ci chodzi.

A jak tak patrzę na kod, to przypomina mi się taki dowcip:
Kod
Żona prosi męża, informatyka, żeby poszedł do sklepu.
- Idź kup parówki, jak będą jajka, kup dziesięć.
Mąż, informatyk, zadowolony, że dostał nowe zadanie do wykonania, z uśmiechem wchodzi do sklepu i pyta:
- Są jajka?
- Są.
- W takim razie, poproszę dziesięć parówek.


Mianowicie: Najpierw sprawdzasz, czy w $_GET['page'] jest jakaś wartość i w zależności od tego warunku, przpisujesz zmiennej $sPage wartość. Troche to kuleje, bo z góry zakładasz, że w tablic $_GET jest element z indexem 'page'. A co jeśli go nie ma ? A no wtedy będzie błąd (NOTICE raczej), undefined index. żeby sprawdzić, czy zmienna istnieje trzeba użyć isset(). W tym przypadku jeśli isset() zwróci true, to można zakładać, że zmienna nie jest pusta.
Następnie tworzysz zmienną $sFileName z wykorzystaniem $sPage. Fajnie, ale gdy $sPage ma wartość 'index.php', to $sFileName będzie miała wartość : './id/'index.php.php';
Czy jesteś pewny, że taki plik istnieje ?

Idąc dalej, jeśli nie istnieje plik, którego ścieżka znajduje się w $sFileName to includujesz './id/info.php';, a jeśli istnieje to includujesz './id/oferta.php' .
No ale po co w takim razie było konstrukować tą sciężkę w $sFileName z wykorzystaniem $sPage, skoro i tak nie zostanie to wykorzystane questionmark.gif




--------------------
:)
Go to the top of the page
+Quote Post
miku
post
Post #14





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 2.03.2012

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


Teraz ja cie zbytnio nie rozumiem smile.gif ale to dlatego zapewne ze malo wiem. Ogolnie bazowałem na tym przykladzie robiac to. http://phpedia.pl/wiki/Jak_do%C5%82%C4%85c...i_$_GET%3F
Go to the top of the page
+Quote Post
peter13135
post
Post #15





Grupa: Zarejestrowani
Postów: 1 447
Pomógł: 191
Dołączył: 26.03.2008

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


Cieszy nas to wink.gif
Ale ja niezbyt rozumiem teraz jakiej pomocy oczekujesz. Nie wiem jak Jak mam do Ciebie pisać, żebyś mnie zrozumiał tongue.gif


--------------------
:)
Go to the top of the page
+Quote Post
miku
post
Post #16





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 2.03.2012

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


Ok np. Nie rozumiem 1 rzeczy po co ktos dodaje tematy do "phpedia" ze skryptami ktore nie chodza smile.gif
Go to the top of the page
+Quote Post
peter13135
post
Post #17





Grupa: Zarejestrowani
Postów: 1 447
Pomógł: 191
Dołączył: 26.03.2008

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


Kto powiedział, że nie chodzą ?
On "chodzi", tylko Ty go popsułeś tongue.gif


--------------------
:)
Go to the top of the page
+Quote Post
miku
post
Post #18





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 2.03.2012

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


Ok niech bedzie ze popsulem.

  1. <?php
  2. switch ($_GET['page'])
  3. {
  4. case 'info':
  5. case 'oferta':
  6. $sPage = $_GET['page'];
  7. break;
  8. case 'index':
  9. default:
  10. $sPage = 'index';
  11. break;
  12. }
  13. $sFileName = './page/' . $sPage . '.php';
  14. include ($sFileName);
  15. ?>


Zrobilem tak dzialaja mi teraz te podstrony dobrze, tylko mam jeszcze jedno pytanie jak ustawic "index.php" jako glowna strone zeby to chodzilo bo podstrony mam w folderze "pages" a index.php na serwerze w glownym "public_html" jak wpisze adres/index.php to bledy sa dopiero jak wejde na podstrone wyswietla sie dana tresc. Ale strona glowna mi nie dziala.

UP.
Go to the top of the page
+Quote Post
peter13135
post
Post #19





Grupa: Zarejestrowani
Postów: 1 447
Pomógł: 191
Dołączył: 26.03.2008

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


$sPage = './../index';

powinno zadziałać tongue.gif


--------------------
:)
Go to the top of the page
+Quote Post
miku
post
Post #20





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 2.03.2012

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


Ech .. o tym moglem rzeczywiscie sam pomyslec tongue.gif Ok mam ostatnie pytanie i juz cie nie mecze wink.gif Mianowicie na stronie glownej chce miec system newsow "cutenews" i nie wiem jak mam poprawnie dodac kod "cutenews" do tego skryptu od include w index.php

Tu kod od newsow:

<?PHP
$number = "5";
$template = "Nowy";
include("news/show_news.php");
?>

Bo jak sobie tak dodam jako 2 kod php to mi includuje go na kazdej stronie. Podejrzewam ze trzeba to jakos wlaczyc do tamtego kodu i polaczyc ze stroną glowna tylko nie bardzo wiem gdzie i jak.
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
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: 19.08.2025 - 16:21