Contacte

Eroare la baza de date pe forumul IPB. Eroare DB pe forumul IPB Placă de alimentare invision profil eșuată


JavaScript este dezactivat

Aveți JavaScript dezactivat. Este posibil ca unele funcții să nu funcționeze. Vă rugăm să activați JavaScript pentru a accesa toate funcțiile.



act... Deci aici act acțiune", ceea ce înseamnă "acțiune". (în continuare în text în loc de act se va spune acțiune) acțiune act = Online sau act = UserCP

act = idx
Mai întâi găsiți codul ca acesta:
if (! isset ($ alegere [$ ibforums-> input ["act"]])) ($ ibforums-> idx idx pe portal SAU pe Acasă


$ choice = array ("idx" => "Placi", "SC" => "Placi", "SF" => "Forumuri", "SR" => "Forumuri", "ST" => "Subiecte", "Login" => "Autentificare", "Post" => "Postare", "Poll" => "lib / add_poll", "Reg" => "Înregistrare", "Online" => "Online", "Membri" => "Lista de membri", "Ajutor" => "Ajutor", "Căutare" => "Căutare", "Mod" => "Moderare", "Tipărire" => "diverse / print_page", "Înainte" => " misc / forward_page "," Mail "=>" misc / contact_member "," Invitare "=>" misc / contact_member "," ICQ "=>" misc / contact_member "," AOL "=>" misc / contact_member "," YAHOO "=>" misc / contact_member "," MSN "=>" misc / contact_member "," raport "=>" misc / contact_member "," chat "=>" misc / contact_member "," integ "=>" misc / contact_member "," Msg "=>" Messenger "," UserCP "=>" Usercp "," Profil "=>" Profil "," Track "=>" misc / tracker "," Stats "=>" misc / stats "," Atașați "=>" misc / attach "," ib3 "=>" misc / ib3 "," legends "=>" misc / legends "," modcp "=>" mod_cp "," calendar "=> "calendar", "buddy" => "browsebuddy", "boardrules" => "diverse / contact t_member "," mmod "=>" misc / multi_moderate "," warn "=>" misc / warn "," home "=>" dynamiclite / csite "," modul "=> acțiune "warn" => "diverse / avertizare", atunci înseamnă pentru act = avertiza
surse surse

langși piele... Găsim, respectiv:
$ ibforums-> lang = $ std-> load_words ($ ibforums-> lang, "lang_post", $ ibforums-> lang_id); $ ibforums-> lang = $ std-> load_words ($ ibforums-> lang, "lang_ucp", $ ibforums-> lang_id); și
$ this-> html = $ std-> lang_post.phpși lang_ucp.php skin_ucp.php

Și iată ce are legătură cu:

„idx” =>
„SC” =>
„SF” =>
„SR” =>
„ST” =>
„Autentificare” =>
„Postează” =>
„Sondaj” =>
„Reg” =>
„Online” =>
„Membri” =>
„Ajutor” =>
„Căutare” =>
„Mod” =>
„Tipărește” =>
„Înainte” =>
„Poștă” =>
„Invită” =>
„ICQ” => Trimiterea unui mesaj către ICQ
„AOL” => Trimiteți un mesaj către AOL
„YAHOO” => Trimiteți un mesaj către YAHOO
„MSN” => Trimiteți mesaj către MSN
„raport” =>
„chat” =>
„integ” =>
„Msg” =>
„UserCP” =>
„Profil” =>
„Track” => Abonează-te la un subiect/forum
„Statistici” =>
„Atașați” =>
"ib3" =>
„legends” => Emoticons, ajutor bbcode
"modcp" =>
„calendar” =>
„buddy” =>
„boardrules” =>
"mmod" =>
„avertizează” =>
„acasă” =>
"modul" =>


act

S-ar putea să aveți o întrebare, ce este: "idx" => "Placi", "SC" => "Placi", "SF" => "Forumuri", "SR" => "Forumuri", "ST" = > „Subiecte”,








if ($ ibforums-> input ["showforum"]! = "") ($ ibforums-> input ["act"] = "SF"; $ ibforums-> input ["f"] = intval ($ ibforums-> input ["showforum"]);) else if ($ ibforums-> input ["showtopic"]! = "") ($ ibforums-> input ["act"] = "ST"; $ ibforums-> input [" t "] = intval ($ ibforums-> input [" showtopic "]); // Prinde și memorează subiectul acum, deoarece avem nevoie de" f "attr pentru // skin-urile ... $ DB-> interogare (" SELECT t. *, f.topic_mm_id, f.name ca forum_name, f.quick_reply, f.id ca forum_id, f.read_perms, f.reply_perms, f.parent_id, f.use_html, f.start_perms, f.allow_poll, f. parola, f.posturi ca forum_posts, f.topics ca forum_topics, f.upload_perms, f.show_rules, f.rules_text, f.rules_title, c.name ca cat_name, c.id ca cat_id FROM ibf_topics t, ibf_forums f, ibf_categories WHERE t.tid = ". $ Ibforums-> input [" t "]." Și f.id = t.forum_id și f.category = c.id "); $ ibforums-> topic_cache = $ DB-> fetch_row ( ); $ ibforums-> input ["f"] = $ ibforums-> topic_cache ["forum_id"];) else if ($ ibforums-> input ["showuser"]! = "") ($ ibforu ms-> input ["act"] = "Profil"; $ ibforums-> input ["MID"] = intval ($ ibforums-> input ["showuser"]); )

Structura și căile în IPB

Forumuri IBResource


Acest thread nu are răspunsuri.

IBResource

  • Oraș: 99 | rus

Mulți au avut probabil o întrebare:
"De ce sunt atât de multe fișiere în IPB? Pentru că căile merg întotdeauna la același fișier index.php și doar parametrii se modifică."

Prin urmare, acest scurt articol despre fișierele din IPB ar trebui să vă ajute să înțelegeți mai bine IPB. Ce să cauți unde. Unde să schimbi ce.

Aproape toate paginile din IPB au un parametru în adresă act... Deci aici act este o abreviere pentru cuvântul englezesc " acțiune", ceea ce înseamnă "acțiune". (în continuare în text în loc de act se va spune acțiune) Deci aceasta este componenta principală a divizării fișierelor. Aproape fiecare valoare de acțiune are propriul fișier cu funcții + fișierul său cu șabloane + propriul fișier de limbă. De ce aproape? Pentru că sunt acțiuni mici, firesc pe valori diferite acțiune dar toate sunt combinate într-un singur fișier cu funcții +, de asemenea, un fișier de limbă combinat + și un fișier combinat cu șabloane. De exemplu, sunt mari act = Online sau act = UserCP... Fiecare are propriile fișiere de service cu funcții etc.
Deci, de unde știți la ce acțiune să faceți referire la ce fișiere?

Pentru a face acest lucru, accesați index.php. Totul este scris acolo. Lasă-mă să-ți spun imediat că index.php? act = idx este adresa paginii principale a forumului unde sunt prezentate toate categoriile și forumurile.
Mai întâi găsiți codul ca acesta:
if (! isset ($ alegere [$ ibforums-> input ["act"]])) ($ ibforums-> input ["act"] = "idx";) Această înregistrare înseamnă că, dacă parametrul de acțiune nu este specificat, apoi este implicit idx... Deci, de aceea, atunci când porniți forumul, deschideți doar la adresă pagina principala forum cu o listă de forumuri. Schimbând valoarea aici idx pe portal(pentru un forum cu IBF Portal 3.2 sau 4.0) SAU pe Acasă(dacă aveți 1.2 și portalul IPDynamic Lite este instalat), atunci veți obține că nu forumul, ci portalul va fi încărcat implicit.

Acum urcă puțin mai sus și găsește ceva de genul acesta:
$ choice = array ("idx" => "Placi", "SC" => "Placi", "SF" => "Forumuri", "SR" => "Forumuri", "ST" => "Subiecte", "Login" => "Autentificare", "Post" => "Postare", "Poll" => "lib / add_poll", "Reg" => "Înregistrare", "Online" => "Online", "Membri" => "Lista de membri", "Ajutor" => "Ajutor", "Căutare" => "Căutare", "Mod" => "Moderare", "Tipărire" => "diverse / print_page", "Înainte" => " misc / forward_page "," Mail "=>" misc / contact_member "," Invitați "=>" misc / contact_member "," ICQ "=>" misc / contact_member "," AOL "=>" misc / contact_member "," YAHOO "=>" misc / contact_member "," MSN "=>" misc / contact_member "," raport "=>" misc / contact_member "," chat "=>" misc / contact_member "," integ "=>" misc / contact_member "," Msg "=>" Messenger "," UserCP "=>" Usercp "," Profil "=>" Profil "," Track "=>" misc / tracker "," Stats "=>" misc / stats "," Atașați "=>" misc / attach "," ib3 "=>" misc / ib3 "," legends "=>" misc / legends "," modcp "=>" mod_cp "," calendar "=> "calendar", "buddy" => "browsebuddy", "boardrules" => "diverse / contact t_member "," mmod "=>" misc / multi_moderate "," warn "=>" misc / warn "," home "=>" dynamiclite / csite "," module "=>" module ",); Și aici este o listă cu toate valorile acțiune(stânga) și o listă de nume de fișiere (fără extensia php) la care se referă (dreapta). Dacă linia este așa - "warn" => "diverse / avertizare", atunci înseamnă pentru act = avertiza fisierul de serviciu se afla la
De ce directorul nu este specificat în rând surse, și am indicat-o? Deoarece toate fișierele de serviciu (aproape) se află în folder surse(tradus din engleză - surse).
Cum pot afla unde se află fișierele de limbă și șabloanele pentru un anumit fișier?
Doar. Mergem la fișier, de exemplu, am ales UserCP.php. Căutăm cuvinte acolo langși piele... Găsim, respectiv:
$ ibforums-> lang = $ std-> load_words ($ ibforums-> lang, "lang_post", $ ibforums-> lang_id); $ ibforums-> lang = $ std-> load_words ($ ibforums-> lang, "lang_ucp", $ ibforums-> lang_id); și
$ this-> html = $ std-> load_template ("skin_ucp"); Din care nu este greu de înțeles că fișierele de limbă sunt folosite 2 bucăți lang_post.phpși lang_ucp.php... Și este folosit un singur fișier cu șabloane skin_ucp.php

Și iată ce are legătură cu:

"idx" => index - Pagina principală a forumului
"SC" => Afișează categoria - Afișează lista de forumuri pentru categoria selectată
"SF" => Afișează forum - Afișează o listă de subiecte pentru forumul selectat!
"SR" => Afișare reguli - Afișează regulile forumului selectat (puteți crea propriile dvs. pentru fiecare forum)
„ST” => Afișează subiectul - Afișează subiectul selectat (lista tuturor postărilor despre subiectul selectat)
„Login” => Oferă autorizare (conectați-vă la forum sub dvs cont)
„Post” => Servește publicarea mesajelor, crearea de subiecte, sondaje
„Sondaj” => Servește pentru adăugarea de voturi la un sondaj
„Reg” => Înregistrare, recuperare parolă...
„Online” => Lista utilizatorilor activi (cei care sunt online)
„Membri” => Lista tuturor utilizatorilor, sortare diferită...
„Ajutor” => Servirea fișierelor de ajutor (Întrebări frecvente, vizualizare, sortare)
„Search” => Caută pe forum. Cautare Avansata. Vezi postări noi de la ultima vizită, subiecte active.
„Mod” => Moderare. Acțiuni ale moderatorului. Transferarea subiectelor. Separarea, etc.
„Print” => Vizualizarea temei pentru imprimare, salvarea temei în HTML, Ms Word...
„Forward” => Trimiterea unui link către un subiect către un prieten prin e-mail.
„Mail” => Scrierea și trimiterea unei scrisori către utilizator prin e-mail.
„Invitați” => Nu există încă o astfel de funcție. Dar dezvoltatorii fac deja pregătiri pentru ei înșiși în avans.
„ICQ” => Trimiterea unui mesaj către ICQ
„AOL” => Trimiteți un mesaj către AOL
„YAHOO” => Trimiteți un mesaj către YAHOO
„MSN” => Trimiteți mesaj către MSN
„report” => Raportează moderatorului (servind un link către raportul către moderator prin e-mail despre mesaj)
„chat” => Modulul de chat. Invision Power Chat este un chat cu plată. Prin urmare, nu este în set
„integ” => Trimite mesaj către Integrity Messenger
„Msg” => Serviciu cutie poștală personală. Recepție, trimitere și alte acțiuni cu PM "kami (mesaje în Privat)
„UserCP” => Script mare pentru lucrul cu „Profil”. Aceasta este gestionarea abonamentului și a setărilor forumului etc.
„Profil” => Vizualizați profilul utilizatorului...
„Track” => Abonează-te la un subiect/forum
„Statistici” => Top 10 autori, Top 10 autori astăzi și un link către Administrație
„Atașați” => Descărcați fișierul atașat la mesaj (atașament)
"ib3" => Modul de conectare la forum pentru Ikonboard 3. Legat de conversia din IkonBoard3
„legends” => Emoticons, ajutor bbcode
"modcp" => Panoul de control al moderatorului. Și tot ce are legătură cu ea
„calendar” => Calendar. publicarea, modificarea evenimentelor din calendar...
„buddy” => Lista de contacte ale utilizatorului. Adăugarea unui utilizator la contacte etc.
"boardrules" => Reguli generale pentru întregul forum. Din vizionare.
"mmod" => Multi-moderare. Crearea de reguli generale pentru moderarea forumurilor
„warn” => Sistem de evaluare/avertizare
„home” => Vizualizați portalul IPDynamic Lite. Aici la acest link este clar de ce act = home este un portal
"module" => Module suplimentare de sincronizare. Introdus doar în 1.2


Deci, dacă doriți să schimbați ceva, aruncați o privire în bara de adrese a browserului, vedeți cu ce este egal parametrul actși vei ști imediat unde să cauți. Iar locul pe care îl căutați poate fi găsit de un text care nu este dinamic (nu se schimbă). Și din moment ce textul este static, atunci probabil se află în fișierele de limbă. Deci, după ce ați găsit-o printr-o căutare în fișierele de limbă, puteți vedea ce variabilă corespunde acestei intrări și puteți căuta deja locul dorit după numele variabilei, care, de regulă, vă va conduce la șabloane cu HTML-ul deja familiar. limbaj.în cuvinte clare pe limba engleză) puteți găsi acolo ceea ce aveți nevoie și înțelegeți ce este ceea ce fără traduceri în limbi.

S-ar putea să aveți o întrebare, ce este: "idx" => "Placi", "SC" => "Placi", "SF" => "Forumuri", "SR" => "Forumuri", "ST" = > „Subiecte”,
idx - index - pagina principală a forumului
SC - Show Category - vizualizați categoria selectată (lista de forumuri din categoria selectată)
SF - Afișați forumul - Vizualizați forumul (lista de subiecte ale forumului selectat)
SR - Afișați regulile - Vedeți regulile forumului (le puteți adăuga la fiecare forum prin AdminCP)
ST - Afișare subiect - Vizualizare subiect (lista de mesaje a subiectului selectat)

De asemenea, în ultima versiune 1.2 a introdus mai multe tipuri abreviate de legături care le imită pe cele comune. aceasta
index.php? showforum = 3 - această intrare este identică cu index.php? act = SF & f = 3
index.php? showtopic = 33234 - această intrare este identică cu index.php? act = ST & f = forum_number & t = 33234
index.php? showuser = 343 - această intrare este identică cu index.php? act = Profil & CODE = 03 & MID = 343

Aceste trei abrevieri sunt implementate de codul care este scris în index.php:
if ($ ibforums-> input ["showforum"]! = "") ($ ibforums-> input ["act"] = "SF"; $ ibforums-> input ["f"] = intval ($ ibforums-> input ["showforum"]);) else if ($ ibforums-> input ["showtopic"]! = "") ($ ibforums-> input ["act"] = "ST"; $ ibforums-> input [" t "] = intval ($ ibforums-> input [" showtopic "]); // Prinde și memorează subiectul acum, deoarece avem nevoie de" f "attr pentru // skin-urile ... $ DB-> interogare (" SELECT t. *, f.topic_mm_id, f.name ca forum_name, f.quick_reply, f.id ca forum_id, f.read_perms, f.reply_perms, f.parent_id, f.use_html, f.start_perms, f.allow_poll, f. parola, f.posturi ca forum_posts, f.topics ca forum_topics, f.upload_perms, f.show_rules, f.rules_text, f.rules_title, c.name ca cat_name, c.id ca cat_id FROM ibf_topics t, ibf_forums f, ibf_categories WHERE t.tid = ". $ Ibforums-> input [" t "]." Și f.id = t.forum_id și f.category = c.id "); $ ibforums-> topic_cache = $ DB-> fetch_row ( ); $ ibforums-> input ["f"] = $ ibforums-> topic_cache ["forum_id"];) else if ($ ibforums-> input ["showuser"]! = "") ($ ibforu ms-> input ["act"] = "Profil"; $ ibforums-> input ["MID"] = intval ($ ibforums-> input ["showuser"]); )

În general, tot ceea ce doriți să schimbați poate fi găsit căutând în fișierele forumului. Prin urmare, păstrați întotdeauna o copie a tuturor fișierelor de forum pe hard disk. La urma urmei, căutarea în fișiere de pe server prin ftp este pur și simplu imposibilă. Dar acesta este deja un subiect pentru alt articol. Deci Sfârșitul. Noroc

Vă rugăm să introduceți toate comentariile și întrebările despre articol! Dacă există modificări sau întrebări și răspunsuri importante, le voi adăuga aici la subiect!

O eroare de bază de date pe forumul Invision Power Board (IPB), în urma căreia forumul a început să încetinească destul de bine. Tabelul ibf_profile_portal_views s-a dovedit a fi corupt și trebuie să verificați tabelele. Pe forum, acest lucru este afișat după cum urmează: nu puteți intra în profilul de utilizator:

De asemenea, statisticile vizitelor nu sunt afișate pe forum:

Accesați Centrul de administrare IPBoard și priviți proprietățile sistemului:

Mergem la secțiunea: Asistență> Diagnosticare> Stare sistem> Prezentare generală a sistemului> Verificarea structurii bazei de date.

Găsim eroarea: ibf_profile_portal_views. Faceți clic aici pentru a remedia tabelul sau puteți rula manual următoarele interogări.
- ALTER TABLE ibf_profile_portal_views ADD views_member_id int (10) NOT NULL implicit „0”.


Atenție: erori găsite. S-au găsit erori în baza de date. Și pentru a le remedia, faceți clic pe linkul: Vrei să încerci să repari totul în modul automat?


Și vizavi de tabelul ibf_profile_portal_views (profil și numărul de vizualizări), obținem un steag verde:


Dar după ce ieși și intri în panoul de administrare, eroarea apare din nou. Deci, accesați Asistență> Management SQL> Instrumente> Instrumente de gestionare SQL.


Și facem clic pe tabelul ibf_profile_portal_views.

Citim informatia. Rezultatele interogării manuale: „Nu se poate găsi fișierul:” ibf_profile_portal_views „(errno: 2). Apoi, tastați în câmpul Run:
CREATE TABLE ibf_profile_portal_views (
views_member_id int (10) NOT NULL implicit „0”
);
Și faceți clic pe butonul: Executați o nouă solicitare.


Eroarea s-a schimbat în: Tabelul „ibf_profile_portal_views” există deja. Acestea. nu permite crearea unui nou tabel, deoarece acesta există deja.


Încercați următoarea opțiune: reparați tabelul ibf_profile_portal_views;

Aceeași eroare atunci când lucrați cu baza de date este emisă atunci când încercați să ștergeți un utilizator prin centrul de administrare (deși acest lucru nu interferează cu crearea unui utilizator, precum și cu mutarea acestuia prin grupuri).


Funcția acestui tabel este următoarea - vizualizările profilului utilizatorului sunt acumulate acolo, apoi sunt numărate și actualizate într-un alt tabel, iar acest tabel este șters.
Pentru a lucra cu baza de date, puteți folosi fie Sypex Dumper, fie aplicația web phpMyAdmin cu sursa deschisa scris in limbaj PHPși este o interfață web pentru administrarea SGBD-ului MySQL. PHPMyAdmin vă permite să administrați serverul MySQL printr-un browser, rulați Comenzi SQLși vizualizați conținutul tabelelor și bazelor de date. Aplicația este foarte populară în rândul dezvoltatorilor web, deoarece vă permite să gestionați SGBD-ul MySQL fără a introduce direct comenzi SQL, oferind o interfață ușor de utilizat.

După părerea mea, în calitate de administrator de site, asta nu este o informație personală. În plus, acea informație se află în multe locuri în afară de profilul tău. Se afișează în subiectele forumului, în pop-up-ul utilizatorului, definește ce permisiuni aveți, etc. Ascunzându-le așadar pe profilul tău există un fals sentiment de confidențialitate.

Pentru mine pur și simplu nu are sens să introduci un fals sentiment de securitate prin „ascunderea lucrurilor în profilul meu” atunci când tot ceea ce pui în profilul tău pe un forum comunitar este prin natura sa public tuturor celor din comunitatea respectivă.

Cu alte cuvinte: pe Facebook profilul tău este totul despre tine. Într-o comunitate, profilul tău este despre ceea ce ai făcut în acea comunitate. Este punctul de vedere opus.

Cred că părerea ta despre profilurile forumului este învechită. S-ar putea să se aplice pentru mai multe forumuri, dar pretindeți că sunteți o soluție de întreprindere, așa că asta mă adresez. Site-ul meu ar putea fi cartofi mici, dar devine unul dintre cei mai populari din nișa sa.

Profilurile de pe site-ul meu au foarte mult potențial. Dar pentru că membrii mei sunt un amestec de profesioniști din nișa mea de industrie și consumatori/fabricători care nu sunt, puterea profilurilor mele de membri în ansamblu poate fi serios diluată cu informații diverse care nu au absolut nimic de-a face cu industria mea. , de exemplu, cei 2 membri ale căror pagini de profil le folosesc pentru a-mi ilustra punctul de vedere.

Acest utilizator, MarmoMan, este un profesionist în domeniul său. Informațiile pe care le furnizează sunt relevante pentru industrie și pot fi folosite ca un fel de listă de afaceri. Oricine vizitează site-ul poate să-i vadă profilul și să-și vadă statutul în industrie, istoricul muncii și realizările și să-l contacteze în diferite moduri care pot fi foarte benefice pentru el. Acest tip de profil este un atu pentru site-ul meu.

Acest utilizator, arrowpawn, este un consumator care a venit la noi în legătură cu problemele de pardoseală pe care le avea, a primit răspunsuri și „nu a mai revenit de atunci. Dar membrul a avut grijă să lase o impresie de durată pe care am descoperit-o abia în această seară. informații care nu sunt legate de industrie în fila Despre mine, există informații de contact, inclusiv un link către un site web, în ​​fila Informații de contact. Acest lucru nu este bun pentru site-ul meu și este considerat spam - chiar dacă este o companie legitimă. am profitat de incapacitatea pe care o am de a face anumite informații de profil și anumite grupuri de utilizatori ascunse de păianjeni de căutare și non-membri.

IPS4.x are un mare potențial de a transforma paginile de profil într-un atu pentru multe forumuri. Ar putea avea capacitatea de a adăuga câmpuri relevante pentru focalizarea site-ului, de a activa și dezactiva confidențialitatea pentru anumite câmpuri, de a face unele / toate câmpurile controlabile de către administrator și de a adăuga SEO la profil, printre alte opțiuni. zonele site-ului ar trebui să includă doar informațiile pe care administratorul le consideră importante pe o categorie de utilizatori și, de asemenea, să permită o anumită configurare a utilizatorului.

Ideea pe care vreau să-ți spun este că tot ce este pus într-un profil NU trebuie să fie public, mai ales dacă vrei să ai mai mult control asupra conținutului relevant al site-ului tău. Și nu sunt unul care va compara această caracteristică cu Facebook. Speranța mea este că va fi incomparabil cu orice alt produs disponibil pe forum. Aveți resursele, abilitățile și potențialul de a dezvolta profiluri IPS în mai mult decât o simplă funcție de forum.



Ți-a plăcut articolul? Împărtășește-l