Księga gości - blędy

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.
kylof
Posty: 6
Rejestracja: pt sty 09, 2009 5:09 pm

Księga gości - blędy

Post autor: kylof »

Witajcie

Ostatnip pobrałem z webinside chyba księgę gości najprostszą bez panelu admna. Wszystko ładnie się rozmieszcza na stronie ale jest problem po naciśnięciu w formularzu wyślij pojawia się kilka błędów:

Warning: gethostbyaddr() [function.gethostbyaddr]: Address is not a valid IPv4 or IPv6 address in /home/kylof/public_html/insert.php3 on line 30

(na linii 30 znajduje się: $linea5 = "  Ip: " .gethostbyaddr($REMOTE_ADDR)." ($REMOTE_ADDR)"; )


Warning: fopen(messages.txt) [function.fopen]: failed to open stream: Permission denied in /home/kylof/public_html/insert.php3 on line 32

(to na 32 :$file = fopen ("$filewrite", "a+"); )

Warning: fputs(): supplied argument is not a valid stream resource in /home/kylof/public_html/insert.php3 on line 34

(to na 34: fputs ($file, $stringa); )

Warning: fclose(): supplied argument is not a valid stream resource in /home/kylof/public_html/insert.php3 on line 35

(to na 35 fclose ($file); )


wiem, że wiele to wam nie mówi ale może wiecie co to za błędy i czego dotyczą. Oczywiście jeśli ktoś zechcę pomóc to wyślę te pliki i może ktoś będzie wiedział jak to naprawić.

Jeśli ktoś ma inną przetestowaną księgę to bardzo proszę.


Z góry dziękuję za pomoc
Pozdrawiam
ryczypior
Posty: 12
Rejestracja: śr sty 07, 2009 10:35 pm

Re: Księga gości - blędy

Post autor: ryczypior »

Witaj

Nie znam tego skryptu, ale... spróbuj w linii 30 zmienną $REMOTE_ADDR zastąpić $_SERVER['REMOTE_ADDR']

Natomiast reszta błędów dotyczy braku uprawnień do zapisu pliku 'messages.txt'.

pzdr.
kylof
Posty: 6
Rejestracja: pt sty 09, 2009 5:09 pm

Re: Księga gości - blędy

Post autor: kylof »

Super z messages.txt zadziałało natomiast pojawiają się błędy odnośnie linii 30
ryczypior
Posty: 12
Rejestracja: śr sty 07, 2009 10:35 pm

Re: Księga gości - blędy

Post autor: ryczypior »

Upewnij się, że zamiast gethostbyaddr($REMOTE_ADDR) wpisałeś gethostbyaddr($_SERVER['REMOTE_ADDR']). Jeśli tak jest, prawdopodobnie zmienna została wcześniej nadpisana. W każdym razie sprawdź co dostajesz w zmiennej $linea5. W najgorszym wypadku możesz pozbyć się błędu usuwając funkcję lub wstawiając @ przed jej wywołaniem.

pzdr.
htmlowiecii
Nowy
Nowy
Posty: 86
Rejestracja: sob lip 19, 2008 11:51 am

Re: Księga gości - blędy

Post autor: htmlowiecii »

mógłbyś skopiować kod::?::?::?::?:
kylof
Posty: 6
Rejestracja: pt sty 09, 2009 5:09 pm

Re: Księga gości - blędy

Post autor: kylof »

Kod: Zaznacz cały

<?
//##AcciakkoS GuestbooK by staN #vasto@IRCnet for comments e-mail: [email protected] ##
//Edit this section!
$filewrite = "messages.txt";
//Settings ##DO NOT EDIT##
$stanb = "read.php3";
$linea1 = "<font face='Verdana' size='2'>Name: $nome</font>\n";
$linea2 = "<br><font face='Verdana' size='2'>E-mail: $email</font>\n";
$linea3 = "<br><font face='Verdana' size='2'>Comments:\n$messaggio</font>\n";
$linea3 = ereg_replace("\n","<br>",$linea3);
$linea3 = ereg_replace(":\(", "<img src=\"images/triste.gif\">",$linea3);
$linea3 = ereg_replace(":)", "<img src=\"images/smile.gif\">",$linea3);
$linea3 = ereg_replace(":D", "<img src=\"images/sorrisone.gif\">",$linea3);
$linea3 = ereg_replace(";o", "<img src=\"images/redface.gif\">",$linea3);
$linea3 = ereg_replace(":P", "<img src=\"images/tongue.gif\">",$linea3);
$linea3 = ereg_replace(";)", "<img src=\"images/wink.gif\">",$linea3);
$linea3 = ereg_replace(":o)", "<img src=\"images/clown.gif\">",$linea3);
$linea3 = ereg_replace("8)", "<img src=\"images/shy.gif\">",$linea3);
$linea3 = ereg_replace(":x", "<img src=\"images/kisses.gif\">",$linea3);
$linea3 = ereg_replace(";=\(", "<img src=\"images/evil.gif\">",$linea3);
$linea3 = ereg_replace(":I", "<img src=\"images/blush.gif\">",$linea3);
$linea3 = ereg_replace("\?", "<img src=\"images/question.gif\">",$linea3);
$linea3 = ereg_replace("0]", "<img src=\"images/alien.gif\">",$linea3);
$linea3 = ereg_replace(":O", "<img src=\"images/shock.gif\">",$linea3);
$linea3 = ereg_replace(":lol", "<img src=\"images/laugh.gif\">",$linea3);
$linea3 = ereg_replace(":smokin", "<img src=\"images/smokin.gif\">",$linea3);
$linea3 = ereg_replace(":rollin", "<img src=\"images/roll.gif\">",$linea3);
$linea3 = ereg_replace(":hat", "<img src=\"images/pimp.gif\">",$linea3);
$linea4 = date ("d/m/Y H:i")."\t";
$linea5 = "  Ip: " .gethostbyaddr($REMOTE_ADDR)." ($REMOTE_ADDR)";
$linea6 = "<br><center><img src='redline.jpg' width=100% height=1 border=0></center>\n";
$file = fopen ("$filewrite", "a+");
$stringa = "$linea1 $linea2 $linea3 $linea4 $linea5 $linea6";
fputs ($file, $stringa);
fclose ($file);
include ("read.php3");
?>

Po poprawce

$linea5 = "  Ip: " .gethostbyaddr($_SERVER['REMOTE_ADDR'])." ($REMOTE_ADDR)";

rzeczywiście nie zwraca teraz błędów, wyświetla wpisy ale bez danych czyli bez nicku, e-mailu i tekstu
htmlowiecii
Nowy
Nowy
Posty: 86
Rejestracja: sob lip 19, 2008 11:51 am

Re: Księga gości - blędy

Post autor: htmlowiecii »

do

Kod: Zaznacz cały

$stringa = "{$linea1} {$linea2} {$linea3} {$linea4} {$linea5} {$linea6}"; 
dopisz

Kod: Zaznacz cały

{$email} {$uzytkownik}
itd.
tylko jak by nie było wszystko wyświetli się w jednej lini więc dopisz tam gdzie trzeba pomiędzy "}{" [xml]<br />[/xml]
oczywiście zmienne $email i $uzytkownik musisz wczeniej odebrać
kylof
Posty: 6
Rejestracja: pt sty 09, 2009 5:09 pm

Re: Księga gości - blędy

Post autor: kylof »

wstawiłem te dwa elementy i nie używałem { } gdyż w oryginale nie było ich. Teraz w ogóle nie wyświetla napisów Name, E-mail & Comments. Sądzę, że jest to spowodowane nie odebraniem zmiennych, gdyż nie rozumiałem w jaki sposób to zrobić i w którym miejscu.
ODPOWIEDZ