Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: problem z wyswietleniem strony
Forum PHP.pl > Forum > Przedszkole
Gość_gordon
Witam
Mam taki problem z ktorym nie moge sobie w zaden sposob poradzic.
Tworze domowy portalik w php i mysql.
Glowna strona sklada sie z 3 plikow: index.php, naglowek.php i lewy.php. Chce aby wszystko ladowalo mi sie w index.php a naglowek i lewy pozostawaly bez zmian. Zrobilem cos takiego (w index.php):
$idz_do=$_GET["go"];
if(!isset($go))
{
include("glowna.html");
}
else {
if(is_file("$go.php"))

i dziala jezeli w lewy.php mam zwykle <a href...>. Jednak chcem aby do lewy.php ladowaly sie nazwy kategorii z bazy danych (co tez sie udaje). I teraz sedno sprawy, nie potrafie zrobic aby to na co wskazuja kategorie wyswietlalo sie NIE w nowym oknie tylko wlasnie poprzez index.php.
Chodzi o te linijke kodu:
$url = 'index.php?go=pokazkategorie.php?id_cat='.($a['id_cat']);
gdzie pokazkategorie.php jest plikiem odpowiedzialnym zy wyswietlenie plikow kategorii, id_cat jest to id kategorii w bazie, a "a" jest zmienna zawierajaca rezultat zapytania z bazy (to wszystko jest w petli i potem ma byc wyswietlane przez funkcje ale sie nie wyswietla).
Co z ta linijka jest nie tak? Probowalem juz chyba wielu mozliwosci, miedzy innymi z "&" i nic.
Jezeli napisze tak: $url = 'pokazkategorie.php?id_cat='.($a['id_cat']);
(bez index.php?go=) Strona sie wyswietla ale w nowym oknie.
Prosze o pomoc.
Pozdrawiam Gordon
Fipaj
poprawne rozwiązanie:
  1. <?php
  2.  
  3. $url = &#092;"index.php?go=pokazkategorie.php?id_cat=\" . $a['id_cat']);
  4.  
  5. ?>
Gość_gordon
Cytat(Fipaj @ 2005-02-25 15:48:02)
poprawne rozwiązanie:
  1. <?php
  2.  
  3. $url = &#092;"index.php?go=pokazkategorie.php?id_cat=\" . $a['id_cat']);
  4.  
  5. ?>

dzieki ale hmm, tak tez nie dziala ( $url = "index.php?go=pokazkategorie.php?id_cat=" . $a['id_cat']; ).
Fipaj
A jaki błąd wywala??
Coyote
Ja tam proponuje uzyc .. switcha ....
Gość_gordon
Cytat(Fipaj @ 2005-02-25 18:04:27)
A jaki błąd wywala??

podam troche wiecej szczegolow. A wiec w pliku index.php mam cos takiego (to jest tylko czesc):
  1. <td align=\"left\" width=\"15%\" valign=\"top\">
  2.  <? include(&#092;"include/lewe.inc.php\");?>
  3. </td>
  4. <td width=\"70%\" valign=\"top\">
  5.  <?
  6. $idz_do=$_GET[&#092;"go\"];
  7.  
  8. if(!isset($go))
  9. {
  10. include(&#092;"main.php\");
  11. }
  12. else {
  13. if(is_file(&#092;"$idz_do.php\")) 
  14. include(&#092;"$idz_do.php\");
  15. else echo 'Brak pliku';
  16. }
  17.  ?></td>


Natomiast w "lewe.inc.php" mam funkcje ktora pobiera nazwy kategorii z bazy danych i je wyswietla jako linki w lewej kolumnie stronki. Funkcja jest za dluga zeby ja tu wrzucac, ale pokaze te czesc, ktora jest odpowiedzialna za zaladowanie sie kategorii-linkow wskazujacych na $url tego co zawieraja:
  1. <?php
  2.  
  3.  foreach ($result_array as $a)
  4. {
  5. $url = 'pokazkategorie.php?id_cat='.($a['id_cat']);
  6.  
  7. $tytul = $a['cat_name'];
  8.  
  9. tworz_link($url, $tytul); //funkcja wyswietlajaca link
  10. }
  11. ?>

I to dziala ale otwiera sie jako nowa strona. I teraz jak zrobic aby sie ladowalo przez "index.php?go=" na tej samej stronie (obok lewe.inc.php itd).

Jesli chodzi o $url = "index.php?go=pokazkategorie.php?id_cat=" . $a['id_cat']; to po prostu wywala 'Brak pliku' z index.php.

Nie wiem, moze rzeczywiscie to wszystko przerobic jakos na "switch"? Ale juz tyle godzin nad tym siedzialem...
Pozdrawiam i dzieki za wszelkie odpowiedzi.
Gordon
Fipaj
  1. <td align=\"left\" width=\"15%\" valign=\"top\">
  2.  <? include(&#092;"include/lewe.inc.php\");?>
  3. </td>
  4. <td width=\"70%\" valign=\"top\">
  5.  <?
  6. $idz_do=$_GET[&#092;"go\"];
  7.  
  8. if(!isset($go))
  9. {
  10. include(&#092;"main.php\");
  11. }
  12. else {
  13. if(is_file($idz_do . &#092;".php\")) 
  14. include($idz_do . &#092;".php\");
  15. else echo 'Brak pliku';
  16. }
  17.  ?></td>



powinno zadziałać... bo on nie widział zmiennej $idz_do, tylko $idz_do.php
Guest
Cytat(Fipaj @ 2005-02-25 19:23:49)
  1. <td align=\"left\" width=\"15%\" valign=\"top\">
  2.  <? include(&#092;"include/lewe.inc.php\");?>
  3. </td>
  4. <td width=\"70%\" valign=\"top\">
  5.  <?
  6. $idz_do=$_GET[&#092;"go\"];
  7.  
  8. if(!isset($go))
  9. {
  10. include(&#092;"main.php\");
  11. }
  12. else {
  13. if(is_file($go . &#092;".php\")) 
  14. include($go . &#092;".php\");
  15. else echo 'Brak pliku';
  16. }
  17.  ?></td>



powinno zadziałać... bo on nie widział zmiennej $idz_do, tylko $idz_do.php

Tam oczywiscie powinno byc zmienna $go wszedzie (lub idz_do).
  1.  <?
  2. $idz_do=$_GET[&#092;"go\"];
  3.  
  4. if(!isset($go))
  5. {
  6. include(&#092;"main.php\");
  7. }
  8. else {
  9. if(is_file($go . &#092;".php\")) 
  10. include($go . &#092;".php\");
  11. else echo 'Brak pliku';
  12. }
  13.  ?></td>


Lecz niestety nie dziala i tak sad.gif Juz nie wiem o co tu chodzi.
Gość_gordon
Cytat(Fipaj @ 2005-02-25 15:48:02)
poprawne rozwiązanie:
  1. <?php
  2.  
  3. $url = &#092;"index.php?go=pokazkategorie.php?id_cat=\" . $a['id_cat']);
  4.  
  5. ?>

w koncu udalo mi sie smile.gif
powinno byc tak:
  1. <?php
  2.  
  3. $url = &#092;"index.php?go=pokazkategorie&id_cat=\" . $a['id_cat']);
  4.  
  5. ?>

czyli bez rozszerzenia .php i z "&".
Dodatkowo kolejnym bledem bylo ze plik z funkcja laczenia z baza mysql, dolaczalem poprzez "include" i wywalalo mi: Fatal error: Cannot redeclare....
Po zmianie na "include_once" wszystko dziala ok smile.gif
Pozdrawiam
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.