Meghívós loginrendszer - R.E. Login v2.0

R.E. Login v2.0

Az R.E. Login újabb verziója, vadi új objektum orientált motorral. Megőrizve az elődje funkcióit, de némileg kibővítve azt, és lehetőséget biztosítva további fejlesztések egyszerűbb elvégzésére. Ebből kifolyólag valószínű lesz is folytatás. Addig is köszöntsük szeretettel új barátunkat, az R.E. Login v2.0 -át.
R.E. Login v2.0.3 letöltése
Kövesd a projektet és keresd a legfrissebb verziókat a:
https://sourceforge.net/projects/relogin/ oldalon.


Figyelem: Ez a rendszer már elavult. Hibákat tartalmazhat és az új PHP verziókkal nem teljesen kompatibilis. Az init.php-be beillesztve az alább írt sorok egyikét a hibaüzenetek eltüntethetők, de a login használata csak saját felelősségre javasolt.

error_reporting(E_ALL | E_STRICT); // E_STRICT hibaüzenetek elrejtése
vagy
error_reporting(0); //minden hibaüzenet elrejtése

Kapcsolódó oldalak

Szerkesztve: 2010.04.04. 23:02
A loginban sikerült felfedezni pár hibát. Ezek javítva lettek. A hibák a következők voltak:

  • Profil módosítás fájl kimaradt a beállításokból, így csak changeprofile.php néven működött
  • Ugyanezen okból adminnak más profiljában is a saját profiljára mutató link volt.
  • Apró elírás a telepítőben. STMP volt SMTP helyett az egyik megjegyzésben
  • A telepítő nem ellenőrizte, hogy az SMTP host és port meg van-e adva. Sem az e-mail címeket.

Továbbá egy kiegészítés:

  • Most már opcionális az SMTP használat is. ha netán valakinek nem lenne semmilyen SMTP szerver használatára lehetősége, akkor SMTP nélkül küldi a leveleket.

Más nem változott. Ha bárki hibát észlel, kérem szóljon.
Köszönet tbence-nek az észrevételeiért és hibajelentésért.

A Login funkciói nagy vonalakban:

  • Regisztráció ( Opcionális meghívó mód, regisztráció blokkolása )
  • Beléptetés
  • Meghívó küldés
  • Privát üzenet küldés ( Kimenő, bejövő postafiók, Hír küldés )
  • Felhasználói profil
  • Gravatar és MKAvatar használat
  • Admin felület ( Tulajdonos és Admin rangot megkülönböztetve )
  • Bővíthető ranglista
  • Felhasználó lista
  • Online lista
  • Felhasználó keresése usernév szerint
  • Elfelejtett jelszó funkció

Figyelem! Ez nem egy portálrendszer, hanem loginrendszer. Bármily sokat is tud.
Így a PHP alapszintű ismerete elengedhetetlen a használatához.
Vagy legalább a kellő kitartás és hajlandóság a tanulásra.

R.E. Login v2.0 - Rendszerigény
Mindenképpen szükség van egy webszerverre, amin lehetőség van
PHP 5.0, valamint MySQL 5.0 használatára.
PHP GD támogatás szükséges
SMTP szerver ( Internetszolgáltató, vagy a tárhelyszolgáltató adja )

Ma már az ingyenes tárhelyek is átálltak 5 -ös verzióra.
Minden esetre, akinek fontos, hogy tárhelyével minél kevesebb
probléma legyen, az ruházzon be egy fizetett tárhelybe.
Azokon már szinte mindenhol PHP 5 vagy annál magasabb verzió van.

R.E. Login v2.0 - Telepítési útmutató

  • Tömörítsd ki az RELogin-v2.0.zip -et.

  • A tartalmát másold fel a webtárhelyedre!

  • Nyisd meg böngészőben a "relogin2" mappában levő "install" mappát.
    Töltsd ki az adatokat, majd kattints alul a küldés gombra.
    Megjegyzés: UTF8 karakterkódoláson kívül más is megadható a telepítőben,
    Ekkor viszont minden fájlt külön el kell menteni a megadott
    karakterkódolással. Így ajánlott hagyni UTF8 -nak, és
    a weboldalon is mindenhol ezt használni.

  • Ha mindent jól csináltál, a telepítés sikeres volt.

R.E. Login v2.0 - Használatba vétel
Hozz létre egy "init.php" nevű fájlt a "relogin2" mappa mellett

Írd bele a következőt:

<?php
ob_start();

require_once('relogin2/classes/System.class.php');
$system = System::getInstance();
header('Content-type: text/html; charset='.Config::DBCHARSET);
?>

A fenti kódrészletet közvetlenül a fájl elejére írd. Se szóköz,
se újsor ne legyen előtte.

Az összes olyan fájlban, amiben a login bármely modulját használni szeretnéd,
ezt az "init.php" -t kell beilleszteni a következő módon szintén a fájl elejére:

<?php
require_once 'init.php';
?>

Ehhez hasonlóan kell a modulokat is beilleszteni, de már bárhova lehet
a fenti kód után. Ezek már a relogin2 mappában lesznek.
Tehát így fog kinézni a kód:

<?php
require_once 'relogin2/login.php';
?>

A fenti kód hatására megjelenik a beléptető űrlap.
Minden szükséges modul a relogin2 mappában található.
Egyik fájl sem érhető el közvetlenül. Csak az imént leírt módon beillesztve
a fájlokat egy új .php fájlba, ahol előtte be volt illesztve az init.php

További modulok helye, és funkciója:

  • relogin2/admin.php - Adminisztrációs felület
  • relogin2/changeprofile.php - Profil módosítás
  • relogin2/forgotpass.php - Elfelejtett jelszó funkció
  • relogin2/invite.php - Meghívó küldés
  • relogin2/login.php - Bejelentkező űrlap
  • relogin2/logout.php - Kijelentkező
  • relogin2/msginbox.php - Bejövő üzenetek
  • relogin2/msgoutbox.php - Kimenő üzenetek
  • relogin2/msgread.php - Üzenet olvasás
  • relogin2/msgwrite.php - Új üzenet írása
  • relogin2/news.php - Hírek listája
  • relogin2/onlinelist.php - Online lista
  • relogin2/profile.php - Profil megtekintése
  • relogin2/register.php - Regisztrációs űrlap
  • relogin2/search.php - Felhasználó kereső ( Még csak usernévre )
  • relogin2/userlist.php - Felhasználó lista

A login támogatja a gravatar és mkavatar használatát. Ha nem tudod mi az,
nézd meg az alábbi két weboldalt:
http://en.gravatar.com/
http://www.mkavatar.hu/

Sreenshotok:
Profil módosításBejövő üzenetekProfilRegisztrációUserlistaAdmin


További ismertető későbbiekben még lehet, hogy várható. Addig is a felmerülő kérdéseket szívesen megválaszolom.



Szerkesztve: 2010.06.27. 16:20
Találtam egy hibát a loginban. Mégpedig a relogin2/classes/ForgotPass.class.php végén az errors metódusnál duplán volt deklarálva a metódus static tulajdonsága. Ez nem tűnt fel eddig, de most átnéztem a logint, és hibát adott az elfelejtett jelszó funkciónál. Lehet, hogy nem mindenhol ad hibaüzenetet, habár szintaktikai hiba. Ezért javaslom a javítását. Feltöltöttem a módosított logint, de nyilván nem akar ezért senki letölteni újra mindent. Tehát a fent említett fájlban a következő kódot

        public static static function errors()
        {
                return self::$errors;
        }

kell lecserélni erre

        public static function errors()
        {
                return self::$errors;
        }

Szerkesztve: 2011. május 14.23:36
Gyakori probléma a captcha kép ( ellenőrző kód ) megjelenésének hibája ingyenes tárhelyeken. Ha valaki szembekerül ezzel, akkor javaslom elolvasni a következő hozzászólásomat: Link
Így a captcha kiszedhető. Csökkentett biztonsággal, de működhet a login.

Szerkesztve: 2011. június 7. 21:10
Letölthető a R.E. Login v2.0.1. ez egy javított változat csak, ami a különböző ingyenes tárhelyeken hibásan kiszámított url-ekre ad helyesebb és rugalmasabb megoldást. Mostantól működik a Captcha is atw.hu-n, freeweb.hu-n és 000webhost.com-on is. Ami hibájának oka egy részt az útvonalszámítás volt. Kivéve freewebet, ahol más jellegű probléma volt, de addig is, amíg azt megoldják ( ha sikerül ), sikeresen áthidaltam a hibát. Javítottam továbbá az e-mail aktiváltság ellenőrzést is. Ami valóban hibás volt. Így soha nem kellett aktiválni az emaileket akkor sem, ha az be volt állítva. A fent említett 3 tárhelyen teszteltem is a logint. Ezeken a tárhelyeken az url-t illető helyes beállítás a következő:

Minden esetben a telepítőben „weblap gyökérre” ( vagy a relogin2/classes/Config.class.php-ben levő PATH_BASE konstansra) vonatkoznak a beállítások, ami 4 féle képpen adható meg:

  • Üresen hagyva: Ekkor automatikusan számítja a login az url-t, ha tudja. Pl. freeweben működik.

  • / jellel kezdve, weblap gyökérkönyvtárától számítva a loginra épülő weblap url-je. Pl.: /weblapom ( Ez az ajánlott )

  • http-vel vagy https-el kezdve. Pl.: https://domain.hu/weblapom

  • / jel nélkül kezdve. Pl.: weblapom
    Ebben az esetben az automatikusan számolt útvonal megmarad. Csak az útvonal elé téve a megadott mappát, korrigálja azt. ( pl. atw.hu -n használható így )

Az említett 3 tárhelyen a beállítások:

  • atw.hu: userneved.atw.hu esetén vagy csak "userneved" -et írod be per jel nélkül, vagy per jellel "/userneved". Ha nem a fő könyvtárba tetted a logint, akkor a mappa neve is kell mögé. "userneved/weblapmappa" vagy "/userneved/weblapmappa"

  • freeweb.hu ( fw.hu ): Itt üresen lehet hagyni.

  • 000webhost.com: Itt meg kell adni az útvonalat. Ami gyökérkönyvtárba telepített rendszernél egyszerűen "/" jel. Vagy megadható http-vel is, ahogy fentebbi módszerekben írtam. Üresen hagyva nem működik, mert beteszi a public_html mappát is az útvonalba. Ami nem kell.

Ha nem elég érthető a leírás, jelezzetek vissza, és érthetőbbé teszem.

Szerkesztve: 2011. augusztus 11. 22:48
A relogin2/classes/Login.class.php -ben a logout metódusból hiányzott az onlinestatus mező módosítása után az adatbázisba feltöltés. Ezt javítottam. Egyetlen sor változott. De idézem az egész metódust:

public static function logout()
{
        $_SESSION['s'.self::$userNameVar]='';
        $_SESSION['s'.self::$userPassVar]='';
        if (System::$logged)
        {
                System::$user->onlinestatus = 0;
                System::$user->update(); //ezt a sort kell beszúrni!!
        }
        Session::getInstance()->setLifetime(0);
}

Ez egy nagyon apró javítás. Ezért nagyon apró verziószám változással, de feltöltöttem az R.E. Login 2.0.2 -es verzióját. A 2.0.1 sourceforge-ról továbbra is elérhető. Bár letölteni ezek után azt a verziót nincs értelme.

Szerkesztve: 2011. november 05. 17:30
Újabb hibajavító verzió került fel a loginból. Két hibát javít. Egy részt ha egy admin megváltoztatta egy felhasználó jelszavát a profil módosításnál, kiléptette az admint. Más részt a telepítőben megjelenhetett néhány undefined index hibaüzenet. Eddigi szokásomhoz híven ez a kisebb hibajavítás is csak kis verziószám változást jelent. Így most letölthető a R.E. Login v2.0.3

Akik megkímélnék magukat a teljes csomag letöltésétől, a következő linkeken megnézhetik, pontosan mi a két változtatás:

Kategóriák: 
Megosztás/Mentés

Hozzászólások

Rimelek képe

Elnézést, nem olvastam végig az üzeneted az előbb. Elvileg, ha a path base rendben van, akkor más állítani való nincs. Most sajnos nem tudok jobban utánanézni. Annak idején, mikor a leírást írtam, én is az alapján állítgattam az infókat. Próbáld meg még egyszer átfutni a leírást. Lehet, hogy valami elkerülte a figyelmed, ami most az enyémet is. Most kicsit zűrös a helyzet nálam. De ha rendeződnek a dolgok, akkor jobban megnézem, mit hagyhattál ki.

None-user képe

Szia. Segítenél nekem a felrakásban? :$ Emailomra írj, és ott megadom a jelszóm..

Rimelek képe

Szia. Felrakásban nem tudok segíteni. Mármint nem úgy, ahogy szeretnéd. Azaz nem teszem fel helyetted. De most egyébként sem tudok sok időt szakítani segítségre. A http://codenet.hu R.E. Login-os témájában ha felteszed a kérdésed, biztosan segít addig is valaki, amíg újra aktív leszek.

sanyike képe

Szia!

Levédtem egy oldalt.
A config.pass.php-ban beállítottam a védett oldal fájlt, de rákattintás esetén mégsem oda ugrik, hanem az index-re. Lehet valamit félreértettem?
Azt szeretném megoldani, hogy ha a felhasználó nincs bejelentkezve és védett tartalomra téved, kapjon egy üzenetet, hogy regisztrálnia szükséges...

Köszönöm!

Rimelek képe

Üdv

Ha rossz helyre teszed a fájljaid, akkor lehet ilyen. Erről a codenet fórumon írtam megoldást: ITT

A módosított protectedSite metódussal jól kell már működjön. A frissítéseket egyébként letöltheted a sourceforge-ról is, mielőtt új verzióba csomagolnám.

sanyike képe

Köszönöm a gyors választ!
A módosítással megoldódott. :-)

Külön köszönet a remek rendszerért és az önzetlen segítségedért!

sanyike képe

A chrom-ra 'optimalizáltam' a relogin kinézetét, az explorerben más a megjelenése... lehet ezzel valamit kezdeni?

Üdv!

Rimelek képe

Biztosan lehet, de akkor ez már nem igazán a loginhoz tartozik :)

Dual képe

Haliiii :D

Olyan gondom lenne, h atw.hu-ra telepítettem, s az admin.php-t elérem, de a többit már nem :SSS

Megpróbáltam már mindent :///

Rimelek képe

Mindent biztos nem próbáltál meg, különben már működne. És ami még biztos, hogy ennyi infóból segíteni sem tudok. Legyetek bőbeszédűbbek!

sanyike képe

Szia!
A ChangeProfile.class -be írtam egy ellenőrzést, hogy a felhasználó a mezőbe ne tudjon számokat írni...
Ez működik is, de az ékezetes betüket is számként értelmezi. pl: Vác-ra hibaüzenetet küld.
Tudnál valamit javasolni erre a problémára?

if ( ctype_alpha ($post['city'] ))
                { }
                else
                { self::$errors[] = 'A "Város" mező csak betükből állhat!';
                }
Rimelek képe

A ctype_alpha csak az angol betűket veszi alfabetikus karakternek. Nem arról van szó, hogy számként értelmezi a többit. Alfabetikus karakter nem csak az, ami nem szám. De én ilyen ellenőrzést nem is tennék a város mezőre. Teljesen felesleges. Mert ha hülyeséget akarok beírni, akkor nem ez fog megakadályozni.
Reguláris kifejezésekkel lehetne ezt ellenőrizni. De ezzel csak gondod lesz.

Kereshetnél épp valami városlistát. És csak egy lenyíló listából választhatnának a felhasználók. És csak azokat engednéd felvenni. De szerintem azt az energiát másra is fordíthatod :)

Dual képe

Halle :))))

Nos, sikerült a régi gondomat megoldanom :D A kép kiíratással volt gáz :D

Viszont, most megint elakadtam :/
A regiszter.php szerkesztése közben :=/

<tr>
                        <td>Avatár:</td>
      <td>
                                <input type="radio" name="register[uavatars]" <?php
                                print ($data['uavatars']=='1') ? 'checked="checked"' : '' ?> value="1" />
                                <img src="../../img/avatar/1.gif" />
                                <input type="radio" name="register[uavatars]" <?php
                                print ($data['uavatars']=='2') ? 'checked="checked"' : '' ?> value="2" />
                          <img src="../../img/avatar/2.gif" alt="Avatár2" /><br />
              <input type="radio" name="register[uavatars]" <?php
                                print ($data['uavatars']=='3') ? 'checked="checked"' : '' ?> value="3" />
                                <img src="../../img/avatar/3.gif" />
                                <input type="radio" name="register[uavatars]" <?php
                                print ($data['uavatars']=='4') ? 'checked="checked"' : '' ?> value="4" />
                          <img src="../../img/avatar/4.gif" alt="Avatár2" /><br />
              <center><dfn>További képeket az adatlap szerkesztésével lehetséges</dfn></center>
             
                  </td>
                </tr>

ez eddig okés. megvan. Adatbázisból tudom is változtatni a képeket ... De ugye ha valaki regisztrálna, akkor Neki az alapvető avatart tölti be :S

Valami 5leted lenne? :D Felvettem a relogin2/register.php ba is a sort ... De nem adja vissza :S

Dual

Rimelek képe

Épp sietnem kell, de nem egészen értem a problémát, talán pont ezért. Tehát végül is mi nem megy?

Dual képe

Hali :)

Na szal, ugye van az a 4 radio gomb, mely az uavatar adatot tartalmazná. KÉP mySql ből áttudom állítani az adott felhasználónak a képét, viszont regisztrációnál nem küldi el az adatot :S

Rimelek képe

Ja igen, természetesen nem elég az űrlap szerkesztése. Azt is le kell kezelni, hogy mi az, amit el kell mentenie. Ezt a relogin2/classes/Register.class.php-ben találod. Nem vagyok otthon. Késő estig nem is leszek, úgyhogy addig próbálkozz megkeresni a módosítandó részeket benne.

Dual képe

Hali :)

Ide felvettem, de nem igazán akarja vissza adni :S

public static function getRecord()

        {

                return array(

                        Config::DBPREF.'users as users' => array(

                                'username','userpass','rank','invitations','useremail','regtime','newsreadtime'

                        ),

                        Config::DBPREF.'profiles as profiles' => array(

                                'birthdate','sex','useremail','public_mail','uavatar',

                        )

                );

Rimelek képe

Ez csak akkor működik, ha azonos nevet adsz a táblában a mezőnek, mint amit az űrlapon használsz. Különben nem fog létezni a $_POST['register']['uavatar'], mert te uavatars -ként használod az űrlapon.

Dual képe

Hjam igen átnéztem újbol :D Már sikerült :) Köszi :D

Dual képe

Hali Rimmelek :))

Öhhm, olyan kérdésem lenne hogy ugye megvannak adva az <?php print $msg; ?> mint pl a relogin2/login.php nál van és ugye a belépő box felett írja ki hogy X dolog miatt nem tudsz belépni ... Azokat hogy tudom középre rakni? Próbáltam már az msg-t szerkeszteni de nem engedi :S
/remélem érthetően/ írtam le :D
Köszi :)

Rimelek képe

html és css tudás kell csak hozzá. De azok alapból középre vannak rakva. Ha nálad nem, akkor valamilyen módosításod elronthatta.

Dual képe

Hali :))

Nos átnéztem hogy hol is ronthattam el :) De nem volt semmi gond ... Feltettem egy újat s az eredetiben is a login felett van :)

Ugye amit kékkel jelőltem, az okés ....
A pirossal jelölt szöveget nem tudom középre rakni :/

Kép

Rimelek képe

Ja, hogy úgy középre. Vagyis nem a login űrlap felett középre, hanem az oldal középső részére. A Login::getErrors() adja vissza a hibaüzeneteket. Semmit, ha nincs hiba. Azt ott használod fel, ahol akarod.

Dual képe

Hali :))

Lehet elég gyermeteg kérdés :D Sorry előre is :D

Ugye be kiszeretném iratni a felhasználó nevet ha megnyitja a profilját ...
Akárhogy próbálom nem igazán akar össze jönni :S

<title>..:: <?php print $user->username ?> Profilja ::..</title>
Vagy erre más megoldás lenne? :$

Dual

Rimelek képe

Pedig így kell

Dual képe

Hmm, igazán nem értem :S

Mert ha ..:: <?php print $user->username ?> Profilja ::.. így használom akkor csak ennyit ír ki: ..:: Ptofilja ::..
Ha viszont:
..:: <?php print $user->username ?> ::..
Akkor meg csak a pontokat :S Nincs más lehetőség a kiíratásra? :)

Rimelek képe

És ezen mit nem értesz? Ha az elsőben nem írja ki a nevet, akkor a másodikban sem fogja. Valószínűleg a $user változó se létezik még ott, ahol próbálod. Az init.php-ben van egy error_reporting(0); sor. Ott a 0-t írd át E_ALL; -ra amíg tesztelsz, ha nem saját gépen teszed. A $user változó a profile.php-ben jön létre. Ha az előtt írsz title tag-et, ott még nem fog létezni, és nem tudod kiírni. var_dump($user); is segíthet kideríteni ilyeneket.

roland képe

udv
instalatam a 2.0.3 atw.hu tarhelyre de nem megy a captcha regisztracional nem latom a kepet????
valaszt koszi

Rimelek képe

Helló

A válasz ott van a bejegyzésben. A pontos linkjét elküldtem neked már emailben is. És az volt a kérésem, hogy több információt ossz meg velem arról, mit és hogyan csináltál. Ebbe beletartozik az is, hogy végigcsináltad, amiket leírtam és azt hogyan tetted. Ha ezt megteszed, akkor tudok segíteni. De kérlek, tényleg alaposan olvasd el, amiket leírtam!

roland képe

olvasgattam rola es probaltam varialgatni de nekem sajnos nem megy!!
/*Weblap gyökér a tárhely gyökértől.(pl /weblapom) Üresen hagyva automatikus. */
PATH_BASE = '/valami.atw.hu';
igy kellene megirnom???vagy,hogy kell kikapcsolni mert nagyon megakadta !!!amilyen konnyu volt idaig eljutni most szenvedek!

Rimelek képe

Ezt írtam fent:

atw.hu: userneved.atw.hu esetén vagy csak "userneved" -et írod be per jel nélkül, vagy per jellel "/userneved". Ha nem a fő könyvtárba tetted a logint, akkor a mappa neve is kell mögé. "userneved/weblapmappa" vagy "/userneved/weblapmappa"

Te viszont valami.atw.hu -t írtál be. Az a teljes domainnév. A valami a usernév. Ahova én azt írtam, hogy "userneved" oda te a "valami" szót kellene, hogy írd, ha az a felhasználóneved az atw.hu -n. Azaz a teljes domained a "valami.atw.hu". Nyilván nem ez, de ennek megfelelően kell kicserélned az elnevezéseket. Azaz:
PATH_BASE = 'valami';
vagy
PATH_BASE = '/valami';
vagy ez után még mappát is írhatsz, ha nem a főkönyvtárba tetted a logint.

roland képe

a login.php?-re gondoltal??mert probaltam a valami /valami de ezekel se ment??????

Rimelek képe

Kicsit igényesebben és pontosabban fogalmazz, mert nem értelek. Nem gondoltam a login.php -re. Egy dologra gondoltam. Arra a beállításra a Config.class.php-ben, amit írtam. Amit telepítéskor webes felületen tudsz megadni. Csak arra gondoltam.

Ha még írsz, nem biztos, hogy ma még válaszolok. Lehet, csak holnap munka után. ( 16 óra után )

roland képe

igen telepitesnel is megadtam ezeket es utana at is irogattam ahogy a leirasodban van!
/jellel es nelkule de semmi csak azt nem ertem hogy a valami utan mit kellene irnom mikor felmasoltam az egeszet a tarhelyre es ott is telepitettem lehet,hogy valami/nemvagom mit kell ide irni megmondanad pontosan a nevet !!!!! egeszet ramasoltam a tarhelyre!!!!

roland képe

telepitettem azota mindenfele keppen es nem jutok tovabb !!nem jelenik meg a captcha kep??
akar melyikkel probalkozom / vagy nelkule

Rimelek képe

Nem tudom, mit mondanék meg pontosan, ha te nem írsz semmit pontosan. Valójában pontosan leírtam. Csal egyetlen szót kellett saját adatodra cserélned. Viszont amíg nem látom az oldaladat, esetleg emailben elküldve, jelszót kitörölve a config.class.php-det, nem tudok semmi újat mondani ahhoz képest, mint amit eddig megtettem.

roland képe

problema megoldodott! ugyanis telepites utan a PATH_BASE = 'valami'; ha atirtam nem erzekelte!! csak ha elso telepitesnel irom be" weblap gyokeret rublikaba"es perjel nelkul!most mar csak az e-mail kuldes problema de gondolom tarhely smtp kel beallitanom telepitesnel,hogy mennyenek az e-mail-ek??

Rimelek képe

Ha a megfelelő config fájlt változtattad, akkor ugyanúgy kellett volna működjön. Mivel a telepítő is csak abba ír bele. Nincs különbség. Az lehet, hogy elfelejtetted feltölteni a módosított fájlt tesztelés közben. Vagy rosz fájlt módosítottál. ( Van egy az install mappában is )

E-mailhez nem kell saját smtp szerver. Sima mail függvénnyel is tud küldeni. De ha te tudsz sajátot ( pl internetszolgáltató ad ), akkor használhatod. Viszont ATW-n van egy limit, hogy naponta hány emalt küldhetsz. Nem tudom, ez most mennyi. De ha nem saját smtp-t állítasz be, akkor ettől a limittől függ, mennyi levelet tudsz kiküldeni.

FeryCsaby képe

csőváz... van egy olyan gondom, hogy eddíg semmi bajom nem volt a cuccal, amíg egy webtárhelyen voltam, most azonban elköltöztettem az oldalunkat, és csinál egy ilyen hibát: http://diabloradio.hu/radio_admin/web/radio_admin/logout.php?relogin_log...
ez a web/radio_admin/ minek van benne nem értem... mintha a rootot kérné le v nem tom...ezt hol lehhet átírni?

Rimelek képe

Üdv

Valószínű, a PATH_BASE a hibás az új tárhelyhez képest. classes/Config.class.php -ben PATH_BASE konstansban kell átírni. Itt fent a bejegyzés végén olvashatod, milyen lehetőségek vannak.

LINK

mrhill képe

Üdvözlet!
Sikerült telepítenem a rendszert. A regisztrációnál a captcha nem jelent meg, a helyén csak a "captcha" szöveg. Kitörlés után jó volt. A regisztráció elküldése után üres honlapon "Hiba az email küldésnél" felirat. Az aktiváló nem érkezik meg, a felhasználót létrehozza, de bejelentkezni nem tudok. Mi a teendő?

Rimelek képe

Helló. A blogbejegyzésben írtam a captcha problémáról. Azok lehetnek az okok. Tehát vagy a tárhelyen nincs engedélyezve a gd2 modul, aminek kicsi az esélye, vagy hibásan lett megadva a PATH_BASE konstans. Erről az előtted író FeryCsaby-nak is írtam.

Az email elküldése szintén hasonló lehet. A szolgáltatótól függ, hogy engedélyez-e email küldést és mennyit. Megadhatsz saját smtp szervert, de ott arra kell ügyelni, hogy jó legyen szervercím és ha szükséges, akkor be legyen állítva a titkosított mód. És jó legyen a név és jelszó.

Ezeknek próbálj utánanézni! Közben leírhatod esetleg nekem is, hogy hol van a tárhelyed. Melyik szolgáltatónál. Hátha tudok róla valamit.

A captcha problémára pedig kipróbálhatod a következőket, hogy közelebb juss a megoldáshoz:

  • Ahol meg kellene jelennie a képnek, nézd meg, hogy jó-e a captcha.php útvonala. Kattints a captcha feliratra jobb egérgombbal, és "Kép megjelenítése". Ha azt írja, hogy nincs ilyen oldal, akkor hibás a PATH_BASE valószínűleg.
  • Ha a fenti megoldással bejön az oldal, de olyasmi jelenik meg, hogy "A kép nem jeleníthető meg, mert hibákat tartalmaz", vagy hasonló akkor keresd meg a relogin2/includes/captcha.php-t. Majd annak ezt a sorát: $captcha->flush(); cseréld le erre: $captcha->flush(true);
    Majd frissíts! Így nem küldi el majd a http fejlécet, ami miatt hiba esetén a hibaüzenetet nem írja ki. Másik lehetőség az volna, hogy lemented a fájlt böngészőből és belenézel a tartalmába. Ott lesz a hibaüzenet. Akárhogy is, ha van hibaüzenet, és nem mond neked semmit, írd meg itt és majd próbálok valami okosat mondani rá. Szükség esetén a hibaüzenetből az útvonalakat törölheted, mielőtt ide kiírod.
mrhill képe

Köszönöm a segítséget.
Szolgáltató: egy nem túl híres, de jónak mondható CastorLand Bt. (castorlandbt.eu).
A regisztrációs oldal forráskódját megnéztem a netről, rossz az elérési útvonala. A PATH-nál nem adtam meg semmit. A public_html-ben van az összes fájl, mappa, de az útvonalban kétszer számolja a public-ot (../public_html/public_html...). Ha egyszer sem számolná, működne, megnéztem. Az e-maillel még nem tudtam mit kezdeni, de próbálok utánanézni. Van fiókom ennél a szolgáltatónál.
Az elérési útvonallal mit csináljak? A PATH-nál beírtam a public_html-t, úgy sem működött. Http-t meg nem nagyon lehet, mert a //-t kommentnek veszi. Vagy használjak rá kódot?

mrhill képe

Köszönöm még egyszer a segítséged, sikerült (egy újratelepítés után), bejön a captcha. A telepítésnél egy /-t kellett beírni. Ez volt az utolsó tippem. Így már az e-maillel sincs gondja, ahhoz nem is nyúltam, elküldte az aktiválást, be is tudok lépni.
Gratulálok a rendszerhez! További jó programozást, versköltést kívánok, legyél minden jóban sikeres!

Rimelek képe

Örülök, hogy sikerült!

Viszont az előző üzenetedre válaszolnék még.

Ha a forráskódban módosítod a PATH_BASE értékét, akkor idézőjelben kell azt tenni. Tehát nem veheti kommentnek, mert idézőjelben az egy egyszerű string. Bármit írsz bele. Ahogy a telepítésnél / jelet írtál be, úgy a Config.class.php -ben is azt kell beírni. Csak idézőjelben. Ezt próbáltam a bejegyzésben is leírni :)

mrhill képe

Nem azért, hogy mentegetőzzek, de azt hiszem, ' ' között volt... Na de mindegy, lehet, hogy elrontottam valamit akkor. Tökéletesen működik a honlapom, pár dizájnt kell csak cserélni. A belépés állapotát hogy ellenőrizzem? Egy oldal van csak, és arra hívogatom be php-val a tartalmat, így sokkal egyszerűbb a kezelés. Csak azért kérdezem meg, hogy kompatibilis kódot írjak az oldal elejére.

Rimelek képe

Ez egy gyakori kérdés és sokszor meg is válaszoltam. Így külön bejegyzés szól róla. Viszont azt megértem, hogy nem egyszerű rátalálni. Ezért most belinkeltem ennek a bejegyzésnek az elejére "Kapcsolódó oldalak" -ként. Azért itt is:

R.E. Login 2.0 -tól oldalak megtekintésének korlátozása és jogok (rangok)

mrhill képe

Köszönöm szépen türelmes segítséged.
Egyszer pedig már ránéztem arra a lapra, valamiért elkerülte most a figyelmem. Viszont rájöttem egy újabb hibámra. Mivel egy oldal van, és a menüpontokra való kattintással csak maga a tartalom töltődik be, a külső kezdőlapon a menüpontokat le kell blokkolni, egy "Lépj be!" tartalmat kell linkelni. Erre is csak 10 perce jöttem rá, nem figyeltem erre. Így előző kérdésemnek nincs is helye. Minden jót kívánok!

Kusi képe

Szia!
Bocsi, hogy rossz helyre írtam. Akkor nincs mit tenni le kell kérdeznem a profilnál. Azt már megvalósítottam, hogy regisztrációnál létrehozza az adatbázisban egy 1 másodlagos profilt.
(Lényegében ez a második profil egy MMO játékban 8 karaktered lehet, ezeket regisztrálja a user)
Csak abban reménykedtem, hogy hátha van valami függvény, amiben hozzákapcsolhatom még 3. táblaként a 2.Profil táblát. Egy változóbol kinyerhető legyen a user->1.profil->2.profil. A 2. profil táblában van még egy profil id-is, hogy a user a 8 profiljával tudjon ténykedni az oldalon.
Tehát akkor nem lehet hozzákapcsolni 2. profil táblát, csak ha annak 1 találata van? Nekem kell lekérdezni szerverről?

Rimelek képe

Mindenképpen külön lekérdezés lenne, akár volna erre a loginban megoldás, akár nem. Egy az egyhez kapcsolatnál két olyan rekordról van szó, amik egy sql lekérdezéssel egymáshoz kapcsolhatók és ugyanolyan rekordot, azaz mezők halmazát kapod, mint egy tábla esetén. Ha viszont neked egy rekordhoz több, más táblában található rekordot kell kapcsolnod, akkor az SQL-ben csak úgy kapcsolható össze, hogy az a sorod, amiből csak 1 van, annyiszor fog ismétlődni, ahányszor van találat a másik táblában azonos id-val. Van, amikor ez cél, de a loginban nem. PHP-val szét lehetne szedni, de nem jobb és könnyebb, mint egy új sql lekérdezés.

Például egy felhasználóhoz több privát üzenet tartozhat. Belátható, hogy azt se lenne értelme a user rekordjával együtt lekérdezni. Csak egy kezelhetetlen eredményt kapnál. Persze bizonyos mezőket hozzá lehet kapcsolni az üzenethez a felhasználóból is. Például a feladó vagy épp a címzett nevét. Attól függően, ki nézi épp.

Vannak olyan keretrendszerek, amikben megoldották, hogy csak hivatkozz egy kapcsolt táblára akkor is, ha abban nem 1-1 kapcsolat van. De akkor is lekérdezi külön. Csak előled elrejti.

De gyanítom, ezeket annyira sem látnád át, mint a logint.

De használhatod a login megoldását a lekérdezéshez. Így:
Feltételezzük, hogy a saját profiltáblád neve: mmoprofiles

$mmoprofiles = new IsMySQLListClass(array('mmoprofiles'=>array('*')));

Itt a konstruktorban az mmoprofiles ugye a tábla neve. Utána a lekérdezendő mezők tömbje.
Ha az összes kell, akkor lehet írni csak a csillagot.

$mmoprofiles->init('mmoprofiles where userid = '.System::$user->T_users_userid);

Itt pedig az init metódusban az sql-ben írando "from" utáni részt kell írni. A mezők listáját a konstruktorban átadott tömbből generálja. A T_users_userid pedig azt jelenti, hogy a "users" táblában levő "userid" mezőre vagy kíváncsi. Akkor kell így megadni, ha a lekérdezett táblák azonos nevű mezőket tartalmaznak. Mert nem tudná, melyikből akarod a mezőt.

Majd egy ciklussal végigmehetsz az $mmoprofiles objektumon. ( Ez egy olyan objektum, ami iterálható és a lekérdezett rekordokon megy végig. ) Így akár tényleges tömböt is készíthetsz belőle. De a tömb minden eleme egy isMySQLClass típusú objektum lesz. Amiből tömbszerű hivatkozással vagy objektumként hivatkozva is elérheted a mezőket.

foreach ($mmoprofiles as $mmoprofile) {
    //karakter nevének kiírása
    echo $mmoprofile['name'].'<br />';
}

Megoldható az is, hogy ezek az objektumok saját típusúak legyenek. Tetszőleges osztályból. Akkor az isMysqlListClass osztály példányosításánál a konstruktorban a második paraméterben annak az osztálynak a nevét kell megadnod stringként. És akár beteheted az egészet a User osztályba is, hogy saját azonosítója alapján a System::$user objektumból lekérdezd a karakterek profilját.

Ha ezek, amiket leírtam, bonyolultak neked, akkor kérdezd le szimplán SQL-lel!