SWiSH Forum Strona Główna SWiSH Forum
Forum użytkowników programów SWiSH

FAQFAQ  SzukajSzukaj  UżytkownicyUżytkownicy  GrupyGrupy  StatystykiStatystyki
RejestracjaRejestracja  ZalogujZaloguj  DownloadDownload

Poprzedni temat «» Następny temat
księga gości - guestbook
Autor Wiadomość
nugatt 



Pomógł: 75 razy
Wiek: 42
Dołączył: 16 Maj 2005
Posty: 1389
Skąd: Warszawa
Wysłany: Sob 20 Sty, 2007 23:19   księga gości - guestbook

Na stronie www.swishmaxxx.prv.pl znajduje się najnowsza wersja mojej księgi gości (php + flash). Pliku nie załączam gdyż zdarza się, że 'update'uje' pliki (tak jak dziś). Kod PHP:
Kod:
<?php
if ($_POST['Submit'] == "Yes") {
$userIP = $_SERVER['REMOTE_ADDR'];
$userBROWSER = $_SERVER['HTTP_USER_AGENT'];
$Name = ereg_replace("%", "%25", $_POST['Name']);
$Comments = ereg_replace("%", "%25", $_POST['Comments']);
$Name = ereg_replace("&", "%26", $Name);
$Comments = ereg_replace("&", "%26", $Comments);
$Name = ereg_replace("<", "", $Name);
$Comments = ereg_replace("<", "", $Comments);
$Name = ereg_replace(">", "", $Name);
$Comments = ereg_replace(">", "", $Comments);
$Name = mb_strtolower($Name, mb_detect_encoding($Name));
$Comments = mb_strtolower($Comments, mb_detect_encoding($Comments));
$Name = stripslashes($Name);
$Comments = stripslashes($Comments);
$filename = "guestbook.txt";
$fp = fopen( $filename,"r");
$OldData = fread($fp, 80000);
fclose( $fp );
$OldData = ereg_replace("&GuestBook=", "", $OldData);
$Today = (date ("d.m.Y/H:i:s"));
$Input = "<b>$Name:</b> $Comments<br><font size=\"9\">info: $Today</font><!-- IP: $userIP; browser: $userBROWSER --><br><br>
";
$New = "&GuestBook=$Input$OldData";
$fp = fopen( $filename,"w");
fwrite($fp, $New, 800000);
fclose( $fp );
echo '&load=loaded&';
}
$filename = "guestbook.txt";
$fp = fopen( $filename,"r");
$data = fread($fp, 800000);
fclose( $fp );
print "&load=loaded$data";
?>

Jeśli chodzi o $_POST['Submit'], $_SERVER['REMOTE_ADDR'], $_POST['Comments']... to przez specyfikę mojego serwera. Jak by nie działało to spróbujcie $Submit, $REMOTE_ADR, $Comments... Chodzi tu o ile pamiętam o niejaki 'safe mode'. Chyba. Zresztą nie nie znam się na PHP.
Pamiętajcie o CHMOD pliku php i txt.
Do każdego wpisu dołączany jest komentarz <!-- IP: $userIP; browser: $userBROWSER -->, który to nie wyświetla się w księdze gości. Dzięki niemu poznajemy IP i przeglądarkę osoby wpisującej się.
Zamiast 'fwrite($fp, $New, 800000);' może być 'fwrite($fp, $New);', a zamiast 'fread($fp, 800000);' może być 'fread($fp, filesize($filename));'
_________________
tomekf /// swishmaxxx
 
 
     
deejay_robby
Bywalec


Dołączył: 20 Sty 2007
Posty: 10
Wysłany: Sob 20 Sty, 2007 23:56   

bys mogl mi wyslac wszystkie pliki? tzn swi i co potrzebne?
 
     
nugatt 



Pomógł: 75 razy
Wiek: 42
Dołączył: 16 Maj 2005
Posty: 1389
Skąd: Warszawa
Wysłany: Nie 21 Sty, 2007 00:39   

Cytat:
Na stronie www.swishmaxxx.prv.pl znajduje się najnowsza wersja mojej księgi gości
_________________
tomekf /// swishmaxxx
 
 
     
Bejruth
Początkujący


Dołączył: 24 Mar 2007
Posty: 2
Wysłany: Sob 24 Mar, 2007 02:17   

Kolejne słodkie pytanie... "guestbook" jest umieszczony jako jeden ze sprite'ów na listwie czasowej. Przy pierwszym zaliczeniu danego label'a zawierającego sprite "guestbook" komunikacja z php i plikiem tekstowym jest poprawna - tekst się pojawia. Jeśli jednak przeskoczę do innego label'a a później ponownie wracam do księgi, coś się sypie i plik tekstowy nie jest wczytywany (odczyt uruchamia dopiero dokonanie wpisu do księgi)?
Będę wdzięczny za wskazówkę gdzie mam szukać błędu, lub co może być powodem...
pzdr
 
     
nugatt 



Pomógł: 75 razy
Wiek: 42
Dołączył: 16 Maj 2005
Posty: 1389
Skąd: Warszawa
Wysłany: Sob 24 Mar, 2007 07:34   

zamień
Kod:
_root.loadVariablesNum("guestbook.php?"+Math.round(Math.random()*100),0,'GET')

na
Kod:
this.loadVariablesNum("guestbook.php?"+Math.round(Math.random()*100),0,'GET')

to chyba to
_________________
tomekf /// swishmaxxx
 
 
     
Bejruth
Początkujący


Dołączył: 24 Mar 2007
Posty: 2
Wysłany: Sob 24 Mar, 2007 13:08   

imho to na pewno to. przynajmniej w moim przypadku działa jak ta lala. dzięki serdeczne i pzdr :c)
ale... :c)) jeszcze jedno. mam problemy ze znakami. plik "startowy" html puszczałem już z różnymi ustawieniami charset (utf, iso, etc), oczywiście zaczynając od windows-1250. sam swf jest ok - testowany w standalone przyjmuje wszystkie znaki z klawiatury. niestety po odpaleniu przez html, w pole inputcomment nie można wpisać polskich znaków. wtf?
wiem, że to jakiś duperel. a przynajmniej tak mi się wydaje.
dzięki raz jeszcze i pzdr
 
     
nugatt 



Pomógł: 75 razy
Wiek: 42
Dołączył: 16 Maj 2005
Posty: 1389
Skąd: Warszawa
Wysłany: Nie 25 Mar, 2007 10:53   

nie wiem co jest (było) nie tak z tą księgą. na na swishmaxxx.prv.pl działa dobrze więc ja wyjąłem i teraz można ją zciągnąć
-------------------------------------------------------
udoskonaliłem tym razem plik php:
#1 ulepszony kod
#2 komentarze (po angielsku). wypada więc przeprosić za moją angielszczyznę.
#3 usuwa wielokrotne entery (w sumie wszystkie, bo tak lubię). jak usunąć wielokrotne, a zostawić jeden? poszukaj na www.php.net
#4 usuwa wielokropki. jak ktoś ich nie lubi: "wiesz co......... mogłoby nam być........ a teraz zostało............"
#5 usuwa wielokrotne spacje
#6 opcja z hasłem. wstawiamy na początku wiadomości swój tekst (hasło) i wtedy plik php pozwoli nam użyć tagów html w naszej wiadomości, np. żeby zmienić kolor czcionki (trzeba umieć to robić, bo księga może nawet przestać się wyświetlać). hasło zostanie usunięte z wiadomości. zmieńcie hasło. "nugatt" nie jest hasłem na moich stronach :)

#3, #4, #5 - zmieniamy poprzez usunięcie odpowiedniej linii albo "kastomizację".
możemy usunąć linijkę ze zmianą małych dużych znaków na małe - $str = mb_strtolower($str, mb_detect_encoding($str)); zmienić format daty - $Today; sposób zapisu nowej wiadomości - $Input.
do każdej wiadomości dodawana jest w postaci komentarza informacja o IP i przeglądarce osoby wpisującej. komentarz ten nie wyświetla się w waszej księdze gości, bo jest wewnątrz <!-- -->

plik php edytujecie na własną odpowiedzialność. jak coś po edycji nie działa to wasza wina.

ps. księgę zcigągamy z www.swishmaxxx.prv.pl

Kod:
<?php
//guestbook by nugatt - www.swishmaxxx.prv.pl
function clean($str) {
    $str = str_replace("\r", " ", $str); // multiple 'enter' removal. you can remove this line if you want.
    $str = ereg_replace (" +", " ", $str); //multiple 'space' removal. you can remove this line if you want.
    $str = ereg_replace("&", "%26", $str);
    $str = ereg_replace("%", "%25", $str);
    $str = ereg_replace ("[.]+", ".", $str); //multiple 'dot' removal. you can remove this line if you want.
    $str = stripslashes($str);
    $str = mb_strtolower($str, mb_detect_encoding($str));//string to lowercase. you can remove this line if you want.
    //if you enter 'nugatt' at the beggining of comments, 'nugatt' will be removed but html tags you entered won't be stripped. it's something like a admin password. do customise it.
    $pass = "nugatt";
    if (substr($str, 0, strlen($pass)) == $pass) {
        $str = ereg_replace ($pass, "", $str);
    } else {
        $str = strip_tags($str);
    }
    return $str;
}
if ($_POST['Submit'] == "Yes") {
    $userIP = $_SERVER['REMOTE_ADDR'];
    $userBROWSER = $_SERVER['HTTP_USER_AGENT'];
    $Name = $_POST['Name'];
    $Comments = $_POST['Comments'];
    $Name = clean($Name);
    $Comments = clean($Comments);
    $filename = "guestbook.txt";
    $fp = fopen( $filename,"r");
    $OldData = fread($fp, filesize($filename));
    fclose( $fp );
    $OldData = ereg_replace("&GuestBook=", "", $OldData);
    $Today = (date ("d.m.Y/H:i:s")); //you can customise it if you want.
    $Input = "<b>$Name:</b> $Comments<br><font size=\"9\">info: $Today</font><!-- IP: $userIP; browser: $userBROWSER --><br><br>
"; //you can customise it if you want. data in '<!-- -->' will not be displayed in your guestbook.
    $New = "&GuestBook=$Input$OldData";
    $fp = fopen( $filename,"w");
    fwrite($fp, $New);
    fclose( $fp );
    echo '&load=loaded&';
}
    $filename = "guestbook.txt";
    $fp = fopen( $filename,"r");
    $data = fread($fp, filesize($filename));
    fclose( $fp );
    echo "&load=loaded$data";
?>
_________________
tomekf /// swishmaxxx
 
 
     
Seb 
Ekspert



Pomógł: 28 razy
Wiek: 41
Dołączył: 09 Paź 2005
Posty: 591
Skąd: takie pytanie?
Wysłany: Czw 26 Kwi, 2007 20:51   

wow
gdybym był kobietą lub choć tak jak Dejv... a Ty byś był w potrzebie Mistrzu !!
... niestety nie w tym wcieleniu się tak mogę oddźwięczyć ;-)

dzięki $nugatt - świetna rzecz :D
 
     
nugatt 



Pomógł: 75 razy
Wiek: 42
Dołączył: 16 Maj 2005
Posty: 1389
Skąd: Warszawa
Wysłany: Czw 26 Kwi, 2007 22:35   

zamiast
Kod:
$str = str_replace("\r", " ", $str);
bądź teź $str = ereg_replace("\r", " ", $str);

użyj
Kod:
$str = ereg_replace("(\r)+", "\r", $str);
i wtedy będzie zamieniane wiele enterów w jeden
_________________
tomekf /// swishmaxxx
 
 
     
Seb 
Ekspert



Pomógł: 28 razy
Wiek: 41
Dołączył: 09 Paź 2005
Posty: 591
Skąd: takie pytanie?
Wysłany: Czw 26 Kwi, 2007 23:18   

super, thx :) )
btw. tak właśnie myślałem jak zrobić zeby wielokropek był tylko 3 kropkami i na więcej nie pozwalał, ale jeszcze tego nie testowałem bo ponoć grzebanie w php to już na własną odpowiedzialność ;-) tak czy inaczej wsadzę swoje trzy kropki m/dzy "..." cudzysłów ;-)


kaj mi się nie uda, to proszę kebaba na wynos, bo już od miesiąca kroisz kurczaka na szpiclu a nikt się nie upomina ;)

pzdroovki
 
     
nugatt 



Pomógł: 75 razy
Wiek: 42
Dołączył: 16 Maj 2005
Posty: 1389
Skąd: Warszawa
Wysłany: Czw 26 Kwi, 2007 23:43   

Seb napisał/a:
trzy kropki m/dzy "..." cudzysłów
pewnie nawet z jednej zrobi ci trzy. ale sprawdź i napisz o tym. a może
Kod:
$str = ereg_replace ("[...]+", "...", $str);

ps. nie ja tylko wujek sadam
_________________
tomekf /// swishmaxxx
 
 
     
Seb 
Ekspert



Pomógł: 28 razy
Wiek: 41
Dołączył: 09 Paź 2005
Posty: 591
Skąd: takie pytanie?
Wysłany: Czw 26 Kwi, 2007 23:51   

ten ostatni pewnie to rozwiąże nie wujek ale kod, dziś już kimono jedynie na mnie czeka, thx za sugestie i kebaba nadal bym wtrąchnął ;-) cUsoon
 
     
nugatt 



Pomógł: 75 razy
Wiek: 42
Dołączył: 16 Maj 2005
Posty: 1389
Skąd: Warszawa
Wysłany: Pią 27 Kwi, 2007 00:12   

readUsoon chyba
_________________
tomekf /// swishmaxxx
 
 
     
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  


Powered by phpBB modified by Przemo © 2003 phpBB Group
Nowe zasady dotyczące cookies. Wykorzystujemy pliki cookies, aby nasz serwis lepiej spełniał Państwa oczekiwania. Można zablokować zapisywanie cookies, zmieniając ustawienia przeglądarki.
         
Strona wygenerowana w 0.1 sekundy. Zapytań do SQL: 10