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: 43
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: 43
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: 43
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: 43
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: 42
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: 43
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: 42
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: 43
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: 42
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: 43
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.
 

ABC CorelDRAW X6 PL

ABC CorelDRAW X6 PL
Roland Zimek

Cena: 39.90 z�

dodaj do koszyka
zobacz opis

 

CorelDRAW X6 PL. �wiczenia praktyczne

CorelDRAW X6 PL. �wiczenia praktyczne
Roland Zimek

Cena: 24.90 z�

dodaj do koszyka
zobacz opis

 

Corel PaintShop Pro X4. Obr�bka zdj�� cyfrowych. �wiczenia praktyczne

Corel PaintShop Pro X4. Obr�bka zdj�� cyfrowych. �wiczenia praktyczne
Roland Zimek

Cena: 34.90 z�

dodaj do koszyka
zobacz opis

 

PowerPoint 2010 PL. �wiczenia

PowerPoint 2010 PL. �wiczenia
Roland Zimek

Cena: 21.90 z�

dodaj do koszyka
zobacz opis

 

Roblox Lua w 24 godziny. Tworzenie gier dla początkujących

Roblox Lua w 24 godziny. Tworzenie gier dla początkujących
Roblox Corporation

Cena: 34.50 zł
zobacz opis

Strona wygenerowana w 0.17 sekundy. Zapytań do SQL: 13