ďťż
Podstrony
|
telcocafeChcę zrobić tak że przy rejestracji na stronie to konto będzie też dostępne na forum (żeby nie trzeba sie rejestrować tu i tu) wiem ja to zrobić. tylko nie wiem jakie pola mam wypełnić tak żeby konto działało. bo np. na forum mam potwierdzenie rejestracji i w której komórce w tabeli mam wpisać że jest aktywne kontopo prostu chodzi mi o to że nie wiem które pola wypełnić tak aby konto działało na forum!! mam nadzieje że wytłumaczyłem dobrze o co mi chodzi. ps. skrypt forum to "Powered by phpBB modified by Przemo" nie będę robił nowego tematu i zadam tu drugie pytanie: czy da się sprawdzić z jakiego kraju jest dana osoba na stronie (jego ip)?? Użytkownik gregorywojcik edytował ten post 09 kwiecień 2007, 22:41 zobacz http://www.phpclasse...ckage/2765.html nie mogę tam nic znaleźć nigdzie nie widzę nic do pobrania jaki skrypt CMS-a ? Ja zrobiłem coś takiego, muszę udoskonalić, ale działa... jaki skrypt CMS-a ? Ja zrobiłem coś takiego, muszę udoskonalić, ale działa... to znaczy co bo ja tu nic nie widze. chodzi mi najprostszy skrypt który będzie mi dodawał użytkowników do froum i w statystykach zmieniał że jest taka i taka liczba użytkowników. nie mogę tam nic znaleźć nigdzie nie widzę nic do pobrania moja klasa ułatwiające integrację logowania/itp. phpBB i punBB z zewnętrznymi skryptami. Do pobrania gdy jesteś zalogowany (bezpłatna rejestracja) znalazłem tą klasę ale nie mogę się w niej połapać. nie wie ktoś w które tabele w bazie trzeba dodać nowy rekord aby wyświetlało ilu jest zarejestrowanych użytkowników. bo tabele użytkowników znalazłem i da rade dodać. znalazłem tą klasę ale nie mogę się w niej połapać Patrz dokumentacja nie wie ktoś w które tabele w bazie trzeba dodać nowy rekord aby wyświetlało ilu jest zarejestrowanych użytkowników nie trzeba dodawać - wystarczy wykonać zapytanie na tabli użytkowników (SELECT COUNT(*) AS ile FROM...), jeżeli chodzi ci o "użytkowników na stronie" to pogooglaj bo taki kod nie raz się przewijał przez sieć ;) Można także wstawić stałą zawierającą nazwę tabeli w zapytaniu sql(listę stałych jest w pliku include/constanst.php). Zyskuje wtedy na tym że przy następnej instalacji by przemo nie trzeba znowu zmieniac w kodzie i wpisywać nowej nazwy tabeli. Czyli ma wyglądać tak... $sql = "SELECT COUNT(*) AS ile FROM " . USERS_TABLE; dobra klasę rozpracowałem. ale ta klasa jest przystosowana do forum na tym samym serwerze?? bo jak tak to nic z tego. w ogóle nie chciał bym używać twojej klasy wolał bym sam napisać tylko zapytania do bazy z forum z dodaniem użytkowników będzie szybciej!! sory że post pod postem ale tak użytkowników umiem dodawać tylko jak zrobić żeby w statystykach forum wyświetlało ile użytkowników jest zarejestrowanych bo jak dodałem tego swojego przez zapytanie w moim skrypcie to nie wyświetla że ten użytkownik zarejestrował się ostatnio. chyba że coś źle wypełniłem Użytkownik gregorywojcik edytował ten post 10 kwiecień 2007, 19:54 ale jesteś oporny na "wiedzę" tu masz metodę odpowiedzialną za rejestrację z mojej klasy. Musisz dodać wpis do 3 tabel z odpowiednimi danymi (m.in. żeby konto było aktywne, a użytkownik w odpowiedniej grupie). public function register($login, $pass, $email, $useractive = 1) { global $db, $board_config; global $HTTP_COOKIE_VARS, $HTTP_GET_VARS, $SID; require_once($this->patch.'/config.php'); define('IN_PHPBB',true); define("IN_LOGIN", true); $phpbb_root_path = $this->patch; require_once( $this->patch . "extension.inc" ); require_once( $this->patch . "common.php" ); $sql = "SELECT user_id FROM " . USERS_TABLE . " ORDER BY user_id DESC LIMIT 1"; $result = $db->sql_query($sql); $row = $db->sql_fetchrow($result); $id = $row['user_id'] + 1; $pass = md5($pass); $sql = "INSERT INTO " .USERS_TABLE ." (user_id, user_active, username, user_password, user_email) " ." VALUES (" ."\"$id\", " ."\"$useractive\", " ."\"$login\", " ."\"$pass\", " ."\"$email\")"; $db->sql_query($sql); $sql = "INSERT INTO " . USER_GROUP_TABLE . " (user_id, group_id, user_pending) VALUES ('".$id."', '".$id."', 0)"; $db->sql_query($sql); $sql = "INSERT INTO " . GROUPS_TABLE . " (group_id, group_type, group_description, group_moderator, group_single_user) VALUES ('".$id."', 1, 'Personal User', 0, 1)"; $db->sql_query($sql); } czyli któraś z tych 3 tabel jest odpowiedzialna za wyświetlanie statystyki że ostatnio zarejestrował się dany użytkownik czy do tego jest coś innego?? to co dałeś na forum to znalazłem tą funkcje Użytkownik gregorywojcik edytował ten post 10 kwiecień 2007, 21:40 phpBB pokazuje ostatnio zarejestrowanego aktywnego itd. użytkownika. Jak dodasz wszystkie dane poprawnie to powinno wszystko ładnie działać. wyciągałem z twojej klasy linijki: $sql = "SELECT user_id FROM " . USERS_TABLE . " ORDER BY user_id DESC LIMIT 1"; $result = $db->sql_query($sql); $row = $db->sql_fetchrow($result); $id = $row['user_id'] + 1; $pass = md5($pass); $sql = "INSERT INTO " .USERS_TABLE ." (user_id, user_active, username, user_password, user_email) " ." VALUES (" ."\"$id\", " ."\"$useractive\", " ."\"$login\", " ."\"$pass\", " ."\"$email\")"; $db->sql_query($sql); $sql = "INSERT INTO " . USER_GROUP_TABLE . " (user_id, group_id, user_pending) VALUES ('".$id."', '".$id."', 0)"; $db->sql_query($sql); $sql = "INSERT INTO " . GROUPS_TABLE . " (group_id, group_type, group_description, group_moderator, group_single_user) VALUES ('".$id."', 1, 'Personal User', 0, 1)"; $db->sql_query($sql); ponieważ twoja klasa wywala błędy nie wiem czemu i rejestracja działa tzn użytkownik się dodała logowanie działa, ale statystyki się nie uaktualniają tzn ostatnio zarejestrowana osoba jest dalej ta co była przez formularz na stronie. nie wiem co oznaczają wartości: .USERS_TABLE ., . USER_GROUP_TABLE .,. GROUPS_TABLE . niby znalazłem tabele pasujące ale może są inne podobne. w sumie użytkownik się dodał więc raczej dobrałem dobre tabele sugerowałem się nazwą tych 'zmiennych'. tak że nie wiem co jest?? Użytkownik gregorywojcik edytował ten post 12 kwiecień 2007, 20:23 .USERS_TABLE ., . USER_GROUP_TABLE .,. GROUPS_TABLE to stałe! Jak już wcześniej wspominałem ich listę można zobaczyć w pliku include/constanst.php . Domyślam się że phpbb wyświetla ostatnio zarejestrowanego na podstawie czasu a nie id. Zresztą najlepiej dołączyć includem plik include/user_register.php do strony dać takie same wartości value jak w normalnej rejestracji (aby były takie same POST). Zwróć uwagę na linię: $sql = "INSERT INTO " . USERS_TABLE . " (user_id, username, user_regdate, user_password, user_email, user_icq, user_website, user_occ, user_interests, user_from, " . $sql_custom_fields . " user_sig, user_sig_bbcode_uid, user_sig_image, user_avatar, user_avatar_type, user_viewemail, user_viewaim, user_aim, user_yim, user_msnm, user_attachsig, user_allowsmile, user_allowhtml, user_allowbbcode, user_allow_viewonline, user_notify, user_notify_gg, user_notify_pm, user_popup_pm, user_timezone, user_lang, user_custom_color, user_custom_rank, user_style, user_gender, allowpm, user_level, user_allow_pm, user_birthday, user_next_birthday_greeting, user_ip, user_ip_login_check, user_active, user_actkey) VALUES ($user_id, '" . str_replace("\'", "''", $username) . "', " . CR_TIME . ", '" . str_replace("\'", "''", $new_password) . "', '" . str_replace("\'", "''", $email) . "', '" . str_replace("\'", "''", $icq) . "', '" . str_replace("\'", "''", $website) . "', '" . str_replace("\'", "''", $occupation) . "', '" . str_replace("\'", "''", $interests) . "', '" . str_replace("\'", "''", $location) . "', " . $sql_custom_values . " '" . str_replace("\'", "''", $signature) . "', '$signature_bbcode_uid', $signature_sql, $avatar_sql, $viewemail, $viewaim, '" . str_replace("\'", "''", str_replace(' ', '+', $aim)) . "', '" . str_replace("\'", "''", $yim) . "', '" . str_replace("\'", "''", $msn) . "', $attachsig, $allowsmilies, $allowhtml, $allowbbcode, $allowviewonline, $notifyreply, $user_notify_gg, $notifypm, $popuppm, $user_timezone, '" . str_replace("\'", "''", $user_lang) . "', '" . str_replace("\'", "''", $custom_color) . "', '" . str_replace("\'", "''", $custom_rank) . "', $user_style, '$gender', $allowpm, 0, 1, '$birthday', '$next_birthday_greeting', '$user_ip', $user_ip_login_check, "; Domyślam się że phpbb wyświetla ostatnio zarejestrowanego na podstawie czasu a nie id. niestety nie sprawdziłem nie wiem gdzie zmienia się statystyki :> to jest zapewne zapisane w `phpbb_config` jako 'newestuser' to jest zapewne zapisane w `phpbb_config` jako 'newestuser' też tak myślę ale kiedy modyfikowałem tą wartość w phpmyadmin to to nic się nie zmieniało nie wiem czemu spróbuj wywołać tą funkcje tuż za poleceniami sql dodającymi do bazy użytkowników, grupy, i czegoś tam jeszcze db_stat_update('newestuser'); Polecenie wzięte z pliku include/user_register.php (949 linia - chociaż możesz mieć inną). Jeśli wywali ci jakiś błąd to includuj plik include/functions.php - ale to raczej nie możliwe bo do każdej strony podstrony jest dodawany ten plik. no tak tylko to jest funkcja i ta funkcja odwołuje się do innej funkcji i tak 4 razy i dalej nie mam kto się ostatnio zarejestrował. //edit1 doszłe do funkcji która robi coś z plikiem cache/board_config.php. usunołem go i statystki uaktualniły się automatycznie!! tylko wcześniej użyłem tej funkcji db_stat_update('newestuser'); Użytkownik gregorywojcik edytował ten post 13 kwiecień 2007, 16:37 stwierdzam że żeby uaktualnić statystyki wystarczy wejść w administracje forum i zapisać jakieś ustawienia i ten plik sam się zmieni i wszystko będzie działać a ta rejestracja to jest w grze internetowej wiec na forum nie musi pisać kto ostatni się zarejestrował!! temat do zamknięcia Użytkownik gregorywojcik edytował ten post 15 kwiecień 2007, 09:09 |
|||
Sitedesign by AltusUmbrae. |