include do tabelki
include do tabelki
Witam
Jestem początkującym jeśli chodzi o tematyke PHP i mam zapewne banalny, ale problem. Mam skrypcik osadzony w tabeli, która podzielona jest na 2 części. Częśc pierwsza z lewej zawiera linki, a część 2 to pole danych gdzie za pomocą skryptu powinna zostać załadowana informacja znajdująca sie w innym pliku. Problem jest taki, że pomimo różnych kombinacji za każdym razem wyświetla sie błąd 404 że nie ma takiej strony, strona która się powinna załadować jest w podkatalogu data, ale nawet jeśli jest on w katalogu głównym obok pliku index to i tak nie działa. Tabela i skrypt wyglądają nastepująco:
<table>
<tr>
<td>>
<a href="index.php?id=strona1">Strona 1</a>
</td>
<td><?
$urls=$id.".html"; /*zamiast html musimy podać jakie
rozszerzenia mają pliki, które chcemy wkleić */
if(file_exists("$urls"))
{
$file=fopen($urls,"r"); /* otwiera plik o ścieżce
dostępu równej wartości
zmiennej $id plus rozszerzenie */
while($linia=fgets($file, 99))
{
echo($linia); // wyświetla zawartość pliku $file
}
fclose($file); // zamyka plik
}
else{
echo("<p align=\"center\"><b>BŁĄD 404</b><br><br>
Wystąpił błąd. Plik do którego prowadzi ten link NIE
ISTNIEJE !!!<br><br><a href=\"javascript:history.back()\">Powrót</a>");
} /* Tu pojawia się informacja, gdy wystąpi błąd */
?>
</td>
</tr>
</table>
Bardzo prosze o jakąś podpowiedź, będę bardzo wdzięczny.
Jestem początkującym jeśli chodzi o tematyke PHP i mam zapewne banalny, ale problem. Mam skrypcik osadzony w tabeli, która podzielona jest na 2 części. Częśc pierwsza z lewej zawiera linki, a część 2 to pole danych gdzie za pomocą skryptu powinna zostać załadowana informacja znajdująca sie w innym pliku. Problem jest taki, że pomimo różnych kombinacji za każdym razem wyświetla sie błąd 404 że nie ma takiej strony, strona która się powinna załadować jest w podkatalogu data, ale nawet jeśli jest on w katalogu głównym obok pliku index to i tak nie działa. Tabela i skrypt wyglądają nastepująco:
<table>
<tr>
<td>>
<a href="index.php?id=strona1">Strona 1</a>
</td>
<td><?
$urls=$id.".html"; /*zamiast html musimy podać jakie
rozszerzenia mają pliki, które chcemy wkleić */
if(file_exists("$urls"))
{
$file=fopen($urls,"r"); /* otwiera plik o ścieżce
dostępu równej wartości
zmiennej $id plus rozszerzenie */
while($linia=fgets($file, 99))
{
echo($linia); // wyświetla zawartość pliku $file
}
fclose($file); // zamyka plik
}
else{
echo("<p align=\"center\"><b>BŁĄD 404</b><br><br>
Wystąpił błąd. Plik do którego prowadzi ten link NIE
ISTNIEJE !!!<br><br><a href=\"javascript:history.back()\">Powrót</a>");
} /* Tu pojawia się informacja, gdy wystąpi błąd */
?>
</td>
</tr>
</table>
Bardzo prosze o jakąś podpowiedź, będę bardzo wdzięczny.
Re: include do tabelki
A może zamiast odczytywac zawartość pliku whilem zrób to tak:
[php]<?PHP
$plik = fopen($urls, r);
$tresc = fread($plik, filsize($urls));
echo $tresc
?>[/php]
Choć jeśli pokazuje ci, że nie ma pliku, to miejscem krytycznym, w ktorym należałoby szukać dziury jest warunke if(is_exist()).
Sprawdź jeszcze raz czy zgadzają się nazwy plików z wartościami zmiennych. Zamiast tego warunku i całej reszty daj
[php]<?PHP echo $urls ?>[/php]
Jeśli wartośc zmiennej bedzie się zgadzać z nazwąkonkretnego pliku to wtedy
może problem jest z chmod???? ale raczej nie....
W jaki sposób wywołujesz stronę? - napisz jak wygląda link
[php]<?PHP
$plik = fopen($urls, r);
$tresc = fread($plik, filsize($urls));
echo $tresc
?>[/php]
Choć jeśli pokazuje ci, że nie ma pliku, to miejscem krytycznym, w ktorym należałoby szukać dziury jest warunke if(is_exist()).
Sprawdź jeszcze raz czy zgadzają się nazwy plików z wartościami zmiennych. Zamiast tego warunku i całej reszty daj
[php]<?PHP echo $urls ?>[/php]
Jeśli wartośc zmiennej bedzie się zgadzać z nazwąkonkretnego pliku to wtedy
może problem jest z chmod???? ale raczej nie....
W jaki sposób wywołujesz stronę? - napisz jak wygląda link
re
No stronke która ma być załadowana do tabeli wywołuje linkiem np.
<a href="index.php?id=strona1">Strona 1</a>
ktory znajduje sie w sąsiedniej kratce tabelki.
Będę wdzięczny za tłumaczenie jak 4- ro latkowi
.
Czyli wniosek z poprzedniego jest taki ze zamiast całego kodu z pierwszego posta wystarczy dać:
[php]<?php
$plik = fopen($urls, r);
$tresc = fread($plik, filsize($urls));
echo $tresc
?>[/php]
czy może
[php]<?php
$urls=$id.".html";
echo $urls
?>[/php]

<a href="index.php?id=strona1">Strona 1</a>
ktory znajduje sie w sąsiedniej kratce tabelki.
Będę wdzięczny za tłumaczenie jak 4- ro latkowi
Czyli wniosek z poprzedniego jest taki ze zamiast całego kodu z pierwszego posta wystarczy dać:
[php]<?php
$plik = fopen($urls, r);
$tresc = fread($plik, filsize($urls));
echo $tresc
?>[/php]
czy może
[php]<?php
$urls=$id.".html";
echo $urls
?>[/php]
Re: include do tabelki
To ja napiszę całość:
na stronie index.php niech bedzie link:
A potem w tej drugiej komórce:
[php]<?PHP
@$strona = $_GET["str"]; // 1
$urls = $strona.".htm"
$plik = fopen($urls, r); // 2
$tresc = fread($plik, filsize($urls)); // 3
if ($strona) {
echo $tresc; // 4
} else {
echo "<p>tu treść strony pierwszej</p>"; //5
}
?>[/php]
Opis:
1. - pobieram zmienną z tablicy asocjacyjnej $_GET[]
[asocjacyjnej, czyli takiej, gdzie indexami są napisy]
[dzięki temu @ nie wyskoczy błąd jeśli jeszcze nie została pobrana zmienna - czytaj: ktos wszedł na stronę i nie kliknął linka]
2. - funkcja fopen() otwiera plik o nazwie [w tym wypadku] "o_mnie.htm". To "r" oznacza że plik otworzony tylko do odczytu.
3. - odczytuje wartość pliku
4. - prosta insrukcja if:
jeśli jest $strona - wyswietl $tresc, czyli treść pliku $urls
jeśli nie to napisz to co znajduje się na sronie głównej
Gotowy skrypt możesz znaleźć na stronie www.yarpo.prv.pl[url] - > skrypty -> [u ... ci strony"
A na stronie http://www.phpkurs.prv.pl masz to jeszcze dokładniej wytłumaczone.
w przyszłości proponuję ściągnięcie kilku dobrych kursów i przerobienie ich - zawsze się przyda:-)
na stronie index.php niech bedzie link:
Kod: Zaznacz cały
<a href="index.php?str=o_mnie">Wejdź na sronę</a>[php]<?PHP
@$strona = $_GET["str"]; // 1
$urls = $strona.".htm"
$plik = fopen($urls, r); // 2
$tresc = fread($plik, filsize($urls)); // 3
if ($strona) {
echo $tresc; // 4
} else {
echo "<p>tu treść strony pierwszej</p>"; //5
}
?>[/php]
Opis:
1. - pobieram zmienną z tablicy asocjacyjnej $_GET[]
[asocjacyjnej, czyli takiej, gdzie indexami są napisy]
[dzięki temu @ nie wyskoczy błąd jeśli jeszcze nie została pobrana zmienna - czytaj: ktos wszedł na stronę i nie kliknął linka]
2. - funkcja fopen() otwiera plik o nazwie [w tym wypadku] "o_mnie.htm". To "r" oznacza że plik otworzony tylko do odczytu.
3. - odczytuje wartość pliku
4. - prosta insrukcja if:
jeśli jest $strona - wyswietl $tresc, czyli treść pliku $urls
jeśli nie to napisz to co znajduje się na sronie głównej
Gotowy skrypt możesz znaleźć na stronie www.yarpo.prv.pl[url] - > skrypty -> [u ... ci strony"
A na stronie http://www.phpkurs.prv.pl masz to jeszcze dokładniej wytłumaczone.
w przyszłości proponuję ściągnięcie kilku dobrych kursów i przerobienie ich - zawsze się przyda:-)
re
Dzieki za odpowiedź, a jesli chodzi o kursy to wlasnie doszedlem jakis czas temu ze pasuje sie czegos dowiedziec, kumpel podal mi jakis taki kurs ale strasznie łopatologiczny jest, zainwestowalem nawet w ksiazeczke ale chyba nie jest ona zbyt przystepnie napisana dla poczatkujacych. No to kombinuje metoda prób i błędów ale to nie jest tak proste jak by sie wydawać mogło. Ale twoj kursik jest gitarka po prostu i polecam bo przystepnie napisany jest i tak można się wgłębić w podstawy, szkoda, że go wcześniej nie znalazłem.
Myśle że chyba sobie już dam rade ale jak by cos to walnę tu jeszcze jakąś głupote
Pozdrowionka
Myśle że chyba sobie już dam rade ale jak by cos to walnę tu jeszcze jakąś głupote
Pozdrowionka
Re: include do tabelki
na stronie www.yarpo.prv.pl masz jeszcze kilka innych linków. [dział kursy -> php]
W www.google.pl wpisz "kurs"+"php" i też masz MNÓSTWO linków - co do ich jakości ... sam już wiesz:-)
jakby były jakies pytania to wal na forum, albo do mnie na priv:-)
PS. Mój kurs jest w rakcie budowy [kilka ostatnich lekcji]. i póki co [co zobaczyłem niedawno] trzeba go używac w Operze lub Firefoxie, bo MSIE6.0 nie obsługuje white-space: pre
W www.google.pl wpisz "kurs"+"php" i też masz MNÓSTWO linków - co do ich jakości ... sam już wiesz:-)
jakby były jakies pytania to wal na forum, albo do mnie na priv:-)
PS. Mój kurs jest w rakcie budowy [kilka ostatnich lekcji]. i póki co [co zobaczyłem niedawno] trzeba go używac w Operze lub Firefoxie, bo MSIE6.0 nie obsługuje white-space: pre
re
No to dobrze, że uzywam Firefoxa
. Ale odnośnie skryptu, to dalej problem. Zamontowałem sobie na kompie Krasnala, tak jak w twoim kursie opisane, i troszke przerobiłem lekcji, a wszystkie skrypty działały. Natomiast ten, odnośnie zawartości w tabelce to, ani wersja z forum która podałeś, ani wersja ze strony nie pójdzie. Wersje z forum przestudiowałem i taka by mi najbardziej odpowiadała, dlatego omówie problem dle tego przypadku 
Stronka wygląda tak:
i jak próbuje sobie ja włączyć to mi wyskakuje błąd taki:
"Parse error: parse error in c:\usr\apache\httpd\html\kurs\index.php on line 11"
No i jest lipa, a oczywiscie plik menul.htm i start.htm są w tym samym katalogu co index.php
?>[/php]
Stronka wygląda tak:
Kod: Zaznacz cały
1: <html>
2: <body>
3: <table>
4: <tr>
5: <td><a href="index.php?str=start">Wejdź na sronę</a></td>
6: <td>
7: <?PHP
8:
9: @$strona = $_GET["str"]; // 1
10: $urls = $strona.".htm"
11: $plik = fopen($urls, r); // 2
12: $tresc = fread($plik, filsize($urls)); // 3
13:
14: if ($strona) {
15: echo $tresc; // 4
16: } else {
17: echo "<p>tu treść strony pierwszej</p>"; //5
18: }
19: ?>
20: </td>
21: <td><?php include("menul.htm"); ?></td>
22: </tr>
23: </table>
24: </body>
25: </html>
"Parse error: parse error in c:\usr\apache\httpd\html\kurs\index.php on line 11"
No i jest lipa, a oczywiscie plik menul.htm i start.htm są w tym samym katalogu co index.php
?>[/php]
Re: include do tabelki
Ale ze mnie ślepota!
aki błąd Ci napisałem. Już popawiam. W 11 lini napisz:
i teraz wsztko powinno dzialać - r należało dać w cudzysłowiach "r".
Takie błędy są najtrudniejsze....
aki błąd Ci napisałem. Już popawiam. W 11 lini napisz:
Kod: Zaznacz cały
11: $plik = fopen($urls, "r"); Takie błędy są najtrudniejsze....
re
No to poprawiłem i dodałem cudzysłów, ale problem nie miną 
Re: include do tabelki
Słuchaj, ale mówisz o tym, że nie dziala, po kliknięciu na ten link.
czyli najpier pojawia sie napis "To co na pierwszej stronie":.
Po klinieciu na link powinna sie pojawić strona.
W pliku php.ini sprawdź czy masz register global ostawione na off czy on.
[plik php ini powinieneś znaleźć w folderze "windows", albo wpisz by ci wyszukało]
czyli najpier pojawia sie napis "To co na pierwszej stronie":.
Po klinieciu na link powinna sie pojawić strona.
W pliku php.ini sprawdź czy masz register global ostawione na off czy on.
[plik php ini powinieneś znaleźć w folderze "windows", albo wpisz by ci wyszukało]
Re: include do tabelki
Ale pojawia się jakiś błąd, czy pop prost zawsze jest "ten text będzie na pierwszej stronie"?
re
no własnie problem jest o tyle gorszy że cała strona sie nie wyświetla tylko ten komunikat jest.
No myślałem że może krasnal coś nie tak, ale inne skrypty działają i przetestowałem skrypt też na serwerze friko.pl ale tam to samo jest.
Tak eksperymentowałem z tym i dodałem " ; " na końcu 10 linii i pojawił się odnośnik już "Wejdź na stronę" ale dodatkowo fatal error

No myślałem że może krasnal coś nie tak, ale inne skrypty działają i przetestowałem skrypt też na serwerze friko.pl ale tam to samo jest.
Tak eksperymentowałem z tym i dodałem " ; " na końcu 10 linii i pojawił się odnośnik już "Wejdź na stronę" ale dodatkowo fatal error
-
mickaellos
- Posty: 1
- Rejestracja: pt lut 11, 2005 8:31 pm
Re: include do tabelki
w 12 linijce jest błąd
wpisane jest filsize -> zamień na filesize
literówka
wpisane jest filsize -> zamień na filesize
literówka
re
No tak nikt nie jest nieomylny ale ta literówka na razie nic nie zmienia bo problem jest nadal i nie wyświetla sie żaden z komponentów dla testów nawet dałem kolor jako tło i on tez się nie wyświetla ani żadne polecenie html które jest przed albo po skrypbie jest tylko napis na białym tle jeden jedyny
Parse error: parse error in c:\usr\apache\httpd\html\kurs\index.php on line 11
Parse error: parse error in c:\usr\apache\httpd\html\kurs\index.php on line 11
Znalazłem bład
Wyświetla, że bład jest w lini 11. w rzeczywistości jest w lini 10!
Linia dziesiąta nie koczy sie średnikiem!
W lini dziesiątej daj:
[php]<?PHP
10: $urls = $strona.".htm" ;
?>[/php]
Teraz powinno ladnie działać:-)
Linia dziesiąta nie koczy sie średnikiem!
W lini dziesiątej daj:
[php]<?PHP
10: $urls = $strona.".htm" ;
?>[/php]
Teraz powinno ladnie działać:-)
