PHP

Zaczęty przez spy, 2003-05-30 18:42:46

0 użytkowników i 1 Gość przegląda ten wątek.

spy

Chciałbym tutaj rozpocząć temat w którym możnaby wspólnie rozwiązywać problemy które napotkamy w skryptach php. Na początku chciałbym się spytać jakmiałby wyglądać skrypt który śledzi aktywność na stronie, np. taki licznik: "Na stronie jest 5 osób". Jakieś sugestie?

[VT] Patrys

Najprościej każdemu użytkownikowi przyporządkować sesję, a identyfikatory sesji trzymać w jakimś pliku czy bazie razem z czasem ostatniej wizyty. Jeśli jakiś identyfikator był użyty więcej niż 15 minut temu, można go usunąć, jeśli nie, policzyć.
Patrys
The High Council of Seven
Vermis Templari

spy

2003-05-31 10:10:21 #2 Ostatnia edycja: 2003-05-31 10:11:26 by Spý
Aha. Dziękuje bardzo za odpowiedź, napewno się przyda. Mam jednak następne pytanie:

Czy istnieje funkcja która mówi nam że np. ciąg znaków "abcde" znajduje się w 5 indeksie tabeli? Chodzi mi tu mniej więcej o takie coś:

Mamy tabelę:
Tabela[0]="aaa"
Tabela[1]="aba"
Tabela[2]="abcde"
I funkcja która zwróci liczbę 2 jeśli zapytamy ją w gdzie w tabeli jest zapisany ciąg znaków "abcde".

Mam nadzieję że zostane zrozumiany mimo mojego ograniczonego języka w dziedzinie programowania   :S

[EDIT]Wiem, że można to zrobić za pomocą pętli, jednak wydłuży to czas wykonywania skryptu.[/EDIT]

[VT] Patrys

Patrys
The High Council of Seven
Vermis Templari

mortus

jeśli chodzi o liczniki odwiedzin to najlepiei java script :) patrys pisałeś o bazie danych najlepiei msql niewiem czy dobrze napisałem nazwa bazy danych  ;)
netmail na bbs'ach: mortus@becksbbs.synchro.net

Jerac

Mortus, wiesz może co oznaczają owe cyferki 2003 w nagłówku posta Patrysa?
I can see what you see not, vision milky then eyes rot. When you turn they will be gone, whispering their hidden song.
Then you see what cannot be - shadows move where light should be. Out of darkness, out of mind.

mortus

wiem tylko jak ktoś by przegląda ten post to sie dowie
:P :) :) :) ;) ;) ;) :D :D :D :D
netmail na bbs'ach: mortus@becksbbs.synchro.net

Kelner

Cytatjeśli chodzi o liczniki odwiedzin to najlepiei java script
Ja to proszę do ROTFLA. Albo dajemy temu panu nagrodę i indeks na MIT jeśli naprawdę uda mu się w JS zrobić licznik
Cytatnajlepiei msql
Jeśli dobrze wiem, MySQL ma najgorszą wydajność z bardziej popularnych baz.
Łoś superktoś
JID: kelner@chrome.pl

ChanibaL

Ja akurat właśnie za tym googlnąłem i mi wyszło, że akurat względnie szybką, najgorsze za to ma możliwości. Te testy wyglądają wiarygodnie i pokazują, że chociaż mysql jest często wolniejszy, to jednak średnią ma całkiem niezłą. Wyniki PostgreSQL'a (którego zresztą nie znam, jak i sql lite) przemilczmy.
Mi się tam jednak wydaje, że wszystko zależy od wewnętrznego typu bazy, a zwłaszcza jej dobrego przemyślenia. Co do drugiego to jestem na 133.7% tego pewien, ale pierwsze to nie do końca (w życiu nic innego od innodb nie użyłem i tak)
Data wysłania: 2005.07.09 01:19:25
http://pl.wikipedia.org/wiki/Mysql
CytatWady i zalety MySQL

MySQL był pisany raczej z myślą o szybkości, niż kompatybilności ze standardem SQL – przez dłuższy czas MySQL nie obsługiwał nawet transakcji, co było zresztą głównym argumentem przeciwników tego silnika bazodanowego (najczęściej zwolenników PostgreSQL) – w nowszych wersjach (>=4) jest jednak zaimplementowana większość istotnych funkcji, a z każdą nowszą wersją, wsparcie SQL staje się coraz bardziej kompletne.

Cieszy się natomiast opinią jednego z szybszych serwerów bazodanowych, dzięki czemu znakomicie nadaje się jako serwer dla często odwiedzanych witryn WWW.
(trochę info o niedopracowaniu artykułu straszy, więc nie wiem jak z wiarygodnością)
rzehójom mówimy stanowcze rzehój!!1

mortus

pomyliłem się raczei w perlu czyli skrypt cgi to mogom byS liczniki
netmail na bbs'ach: mortus@becksbbs.synchro.net

Smoothguy

2005-07-09 19:36:07 #10 Ostatnia edycja: 2005-11-30 16:12:57 by Greybrow
mortus: Naucz się poprawnie pisać, bez literówek, i stosować znaki interpunkcyjne. Ponadto nie używaj 1337 emotek/obrazków.

Kelner

Kajam się, moje uprzedzenie do MySQL wynikało z widoku paru testów porównujących m.in. MySQL i Sybase, w których to testach MySQL został totalnie zdupcony.
Łoś superktoś
JID: kelner@chrome.pl

[VT] Patrys

Cytat: mortus w 2005-07-09 19:31:24
pomyliłem się raczei w perlu czyli skrypt cgi to mogom byS liczniki

Czemu w Perlu, jeśli można od razu w Visual Basicu zrobić exe i wrzucić na IIS?
Patrys
The High Council of Seven
Vermis Templari

mlr

Mam pytanie...
Mianowicie dlaczego wyskakuje mi poniższy błąd:
CytatWarning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in XXX on line YY
I jak tenże błąd naprawić?
Wino i kobiety wykoleją mądrych, a kto przylgnie do nierządnic, będzie bardziej bezwstydny; padnie łupem zgnilizny i robaków i zatraci się dusza zuchwała. (Syr, 19:2-3)

ChanibaL

Znając życie zdycha zapytanie SQL. Daj przed tymprint mysql_error()To coś o sobie opowie (wklej wynik jakby co)
rzehójom mówimy stanowcze rzehój!!1

Miloszz

Jak dodać (w źródle, < br> to wiadomo) nową linię z poziomu php - potrzebne do JS - tam każde polecenie musi być w nowej linii.
Miloszz@chrome.pl | Jog | Homepage | N Liero v.1.3.1 | Liero, G i W!
COME TO THE DARKSIDE
We have cookies

Doman

Spróbuj echo "\n", ale tylko zgaduję.
May the Schwarz be with you!

mlr

Co do MySQLa - problem naprawiony.
Musiałem sobie nadać odpowiednie uprawnienia...


PS. Proszę postów nie kasować - problem jest dość częsty...
Wino i kobiety wykoleją mądrych, a kto przylgnie do nierządnic, będzie bardziej bezwstydny; padnie łupem zgnilizny i robaków i zatraci się dusza zuchwała. (Syr, 19:2-3)

ChanibaL

2005-11-24 21:09:19 #18 Ostatnia edycja: 2005-11-24 21:12:06 by ChanibaL
Z <br /> no to masz takie możliwości:

  • poprostu gdzieś gdzieś w stringu piszesz <br />, przykładowoprint '<br />';
  • jeśli masz już tekst ze znakami nowej linii (w kodzie wygląda to tak: "\n" i jest równoważne 'daniu entera') no to tego stringa przerabiasz przez nl2br($string), przykładowoprint nl2br("Pierwsza linia\nDruga linia");jest (prawie)  równoważne z print nl2br("Pierwsza linia
    Druga linia");
    i powinno dać wynikPierwsza linia
    <br />Druga linia
rzehójom mówimy stanowcze rzehój!!1

Miloszz

Jeżeli kogoś się blokuje (np. żeby nie zagłosował drugi raz w ankiecie) to na ogół zbiera się ip lub ustawia ciacha.
Jednak kukisy łatwo wywalić z poziomu przeglądarki. Numerki ip też nie trudno zmienić. Istnieje trzeci sposób?
Miloszz@chrome.pl | Jog | Homepage | N Liero v.1.3.1 | Liero, G i W!
COME TO THE DARKSIDE
We have cookies

ChanibaL

Hm... potwierdzanie na maila? Rzadko komu się chce specjalnie po to maila zakładać (a do catchalla ma mało kto dostęp). W przypadku ligi istnieje jeszcze trzeci sposób, ale to musiałbym zrobić sam, czyt: nei chce mi się. - każdy user (przy okazji z określoną ilością postów może być) może oddać głos. Z tym to jednak za dużo zachodu by było.
rzehójom mówimy stanowcze rzehój!!1