Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]wczytywanie strony
Forum PHP.pl > Forum > Przedszkole
dave666
Witam mam takie pytanie jak zrobić cos takiego bo nie bardzo wiem nawet czego szukać w google chodzi mi o cos takiego:
mamy sobie index.php i wnim skrypt ktory bedzie działał ze wszystko co bedzie wyświetlane to na śroku strony

a wiec tak mamy sobie
index.php?id=home - strona głowna
index.php?id=newsy - nowości
i teraz tak w tych nowościach mamy tak ze pokazuje framgente newsa i jest news.php?id=1 jak klikam na czytaj wiecej to pokazuje mi sie ten news na białej stronie a chcialbym zeby było takie cos index.php?id=news&=1

skrypt który wczytuje na środek wyglada tak
  1. <?php
  2. $DIR="_p/";
  3. $id=$_GET['id'];
  4. echo "Zmienna id ( $id )<br />";
  5. if ( $id =="" ){
  6. include($DIR."home.php");
  7. }
  8. else {
  9. if(file_exists($DIR.$id.'.php')){
  10. include ($DIR.$id.".php");
  11. } else {
  12. echo "Taki dział nie istnieje :)";
  13. }
  14. }
  15. ?>

a system newsów jest z tąd http://www.swww.pl/116,pokaz,Artykuly.html
Mize
Takie coś sam wymyślisz po piętnastu minutach siedzenia na manualu.

http://php.net.pl/manual/pl/index.php
q3d
Ale w czym problem, że tło masz białe? Podany przez Ciebie adres jest błędny. Nie masz nazwy pola w tablicy $_GET dla przekazywanej wartości 1.

masz:

index.php?id=news&=1

a powinno być coś takiego:

index.php?id=news&news_id=1
dave666
Białą strone pokazuje temu ze nie wczytuje zawartosci newsa do indexu tylko odpala http://strona.pl/news.php?id=1
a nie http://strona.pl/index.php?id=news&news_id=1


funkcja która wczytuje newsy z bazy to tak wyglada
  1. <?php
  2. mysql_connect('localhost', 'blablabla' , 'blablabla');
  3. mysql_select_db("blablabla);
  4. $query = mysql_query("select * from newsy order by data desc limit 0,3");
  5. while($rekord = mysql_fetch_array($query))
  6. {
  7. $tekst .= '<b><h3>'.$rekord[1].'</h3></b>'.$rekord[2].'<br/><a href="news.php?id='.$rekord[0].'">czytaj wiecej...</A>';
  8. }
  9. echo $tekst;
  10. ?>
q3d
Skoro masz takiego linka:
  1. <a href="news.php?id='.$rekord[0].'">czytaj wiecej...</A>';


to nie ma się co dziwić, że wywołuje Ci skrypt news.php. W pliku news.php umieśc kod wyświetlający pełna treść newsa albo zmień wartośc atrybutu href w znaczniku <a>

  1. <a href="index.php?id=news&news_id='.$rekord[0].'">czytaj więcej</a>


i bedzie Ci wywoływał plik index.php przekazując w tablicy $_GET zmienne id i news_id.
dave666
Mistrzu ale ja tak robiłem i pokazuje mi po kliknięciu pustą stronę chodzi mi ze nic nie wczytuje a nie wiem czemu

pik w którym jest
  1. <?php
  2. mysql_connect('localhost', 'blablabl' , "blablabl');
  3. mysql_select_db("blablabl");
  4. $query = mysql_query("select * from newsy order by data desc limit 0,5");
  5. while($rekord = mysql_fetch_array($query))
  6. {
  7. $tekst .= '<b><h1>'.$rekord[1].'</h1></b>'.$rekord[2].'<p class="comments align-right"><a href="index.php?id=news&include_id='.$rekord[0].'">czytaj wiecej</A></p>';
  8. }
  9. echo $tekst;
  10. ?>
to jest plik include który wczytuje news.php
artykuł tego newsa to http://www.swww.pl/116,pokaz,Artykuly.html
q3d
To co teraz wkleiłeś jest zupełnie nieczytelne...

W katalogu _p masz plik news.php? W pliku masz zawartość? Jak do pliku dopiszesz:

  1. <?php
  2. echo '<h1>test</h1>';
  3. ?>


Wyświetla ci ten napis w oknie przeglądarki? W skrypcie news.php w warunku zapyttania do bazy danych podstawia pod id: $_GET['id'] czy $id i problem jest w register_globals?

--------------------------
Za każdym razem wklejasz coś trochę innego. Raz zmienna nazywa się id w nastepnym poscie include_id....

Trzymajmy się tego (czyli wersji niezmodyfikowanej):
  1. <?php
  2. mysql_connect('localhost', 'blablabla' , 'blablabla');
  3. mysql_select_db("blablabla);
  4. $query = mysql_query("select * from newsy order by data desc limit 0,3");
  5. while($rekord = mysql_fetch_array($query))
  6. {
  7. $tekst .= '<b><h3>'.$rekord[1].'</h3></b>'.$rekord[2].'<br/><a href="news.php?id='.$rekord[0].'">czytaj wiecej...</A>';
  8. }
  9. echo $tekst;
  10. ?>


Według tego co przedstawiłeś z pliku index.php to link powinien wygladac <a href="index.php?id=news&NAZWA_ZMIENNEJ*='.$rekord[0].'">czytaj wiecej...</a>

*NAZWA_ZMIENNEJ taka nazwa jaka podstawiana jest pod warunek zapytania w pliku news.php
dave666
Możę od początku bo strasznie zamotałem smile.gif
w pliku index.php jest ten skryt:
  1. <?php
  2. $DIR="_p/";
  3. $id=$_GET['id'];
  4. echo "Zmienna id ( $id )<br />";
  5. if ( $id =="" ){
  6. include($DIR."home.php");
  7. }
  8. else {
  9. if(file_exists($DIR.$id.'.php')){
  10. include ($DIR.$id.".php");
  11. } else {
  12. echo "Taki dział nie istnieje :)";
  13. }
  14. }
  15. ?>

i mamy menu gdzie klikamy<a href="index.php?id=include">News</a>

i na stronie pokazuje nam normlanie newsy i teraz mamy zawartość pliku include.php
  1. <?php
  2. mysql_connect('localhost', 'blablabl' , "blablabl');
  3. mysql_select_db("blablabl");
  4. $query = mysql_query("select * from newsy order by data desc limit 0,5");
  5. while($rekord = mysql_fetch_array($query))
  6. {
  7. $tekst .= '<b><h1>'.$rekord[1].'</h1></b>'.$rekord[2].'<p class="comments align-right"><a href="index.php?id=news&include_id='.$rekord[0].'">czytaj wiecej</A></p>';
  8. }
  9. echo $tekst;
  10. ?>
i po kliknięciu na czytaj wiecej nic nie wczytuje w index.php tak jak by nic nie było napisane
q3d
Z tego co widzę to stworzyłeś jakąs hybrydę (własne rozwiązanie oraz fragmenty skryptów z podanej strony).

1. Plik index.php odpowiada za wczytanie odpowiedniego pliku. to jaki to będzie plik zależy od zmiennej $_GET['id']. Plik musi się znajdować wewnątrz katalogu _p i mieć nazwę zgodną z nazwą wartości przekazanej w $_GET['id'].

2. Drugi kod wyświetla ci ndewsy po kliknięciu na łacze na stronie głownej. W kodzie masz odsyłacz do całości:

  1. <a href="index.php?id=news&include_id='.$rekord[0].'">czytaj wiecej</A>


Czyli w katalogu /p masz mieć plik news.php w którym po WHERE w warunku zapytania masz podstawić $_GET['include_id']
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.